Instance array too big

pin[] only needs to be 8*PCINT_MAX.  For __ARDUINO_MEGA__, this will
allocate 24 elements instead of 71.
Rename 'pin' instance array

Because the word 'pin' is so common, a more specific name is used to
help the reader identify its purpose: finding the correct instance to
use from the ISRs.
Consistent use of #if defined

Switched to the positive test like all the others.
Refactor on_interrupt

By adding an extra argument, all separate implementations could be
refactored into one routine.  No new calling overhead is introduced,
except for TINYX4 (which has only one PCIMSK) and TINYX61 (which has two
PCIMSKs but only one ISR vector).

This also uncovered copy and paste errors in the TINYX61 version:
(1) state[1] was never updated, always used state[0]
(2) PCInt8..15 on_interrupt handlers were never called, always called
PCInt0..7 handlers.
Merge pull request #95 from SlashDevin/PinChangeInterrupt-refactor

PinChangeInterrupt refactor