Ethernet: runtime autodetection of chipset W5100/W5200/W5500
Ethernet: added support for W5500

- Chipset is autodetected during init().
- Still missing support for W5200.
- Some more optimization may be made on read*/write* functions by splitting
  into specific read{W5100|W5200|W5500} function and moving the chipset
  selection to the caller.
Ethernet: better detection of SPI Extended API

Use !SPI_HAS_EXTENDED_CS_PIN_HANDLING instead of ARDUINO_ARCH_AVR
to better support 3rd party architectures.
Ethernet: renamed W5100Class to W5x00Class

Instance name is left to W5100 to allow compatibility for libraries
that builds on top of Ethernet library.
Ethernet: added support for W5200
Ethernet: removed redundant SPI configuration
Ethernet: removed useless 'volatile' modifier in W5x00Class::read_data method
Ethernet: use named constants for chipset
Ethernet: generalized SPI_CS pin handling functions
Ethernet: set SPI speed to theoretical maximum allowed by W5100
Ethernet: added getMaxSockets() method
Ethernet: updated version to 1.1