Adding CAPABILITY_RESPONSE

Now its possible to call:
```
import pyfirmata
board = pyfirmata.Board('/dev/ttyUSB0')
```
It's not necessary to pass the layout as a parameter.

Most of this branch's changes were putting the unittest TestCases in several files.
The most importante changes are pyfirmata/boards.py and  pyfirmata/pyfirmata.py