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.
Fixed SPI chip select/interrupt pin assert order.
Adding support for W5100 Ethernet Controller device driver and Socket Interface.
Merge pull request #95 from SlashDevin/PinChangeInterrupt-refactor

PinChangeInterrupt refactor
Cleanup and code reduction.
Improve OutputPin setup.
Improving SPI interface; adding attach() for driver interrupt service.
Improving the W5100 device driver. Adding a simple web-client example.
Refactoring attach of interrupt handlers for SPI devices.
Improving Socket interface and W5100 Ethernet Controller. Web client/server example.
Adding some news.
Cleanup.
Improving Socket interface; refactoring W5100 device driver, code reduction.
Improving IOStream interface; adding write_P() and using write() as base.
Improving Socket interface; using IOStream::Device as base class.

1. Allow Socket to be used as a IOStream::Device and bind to IOStream.
2. Default implementation of write/read as send/recv.
3. Removed available/room as these are included in base class.
Major update of W5100 device driver; allow binding to IOStream.

1. Use internal TX buffer as write buffer when binding to IOStream.
Efficient message construction without processor buffers.
2. Add new members for Socket and IOStream::Device interfaces.
3. Updated CosaWebServer to illustrate the improved stream to socket.
Cleanup CosaWebServer example.