Unable to set Pin Change Interrupt on ATmega328p
The problem is you have an ISR on the PCINT1 vector, but the vector for PORTB pin changes is PCINT0. Uninitialized vectors jump to address 0, so the MCU resets when a pin change interrupt occurs on PORTB.

This is an easy mistake to make because PCINT1 is the designation of pin PB1 for pin change, and also the name of the vector for pin change interrupts on PORTC (thanks Atmel!). 

You need to change ISR(PCINT1_vect) to ISR(PCINT0_vect). 


  Is there some way I can test this outside of using a board, like in
  simulation?


Yes (this is how I found the error in your code). In AVR simulator you can simulate a pin change by clicking on the pin to toggle it, then follow the resulting code execution with 'step into' (F11). View disassembler to step through the machine code one instruction at a time.