Add correct revision handling of pins.

1. Make sure to check the revision of the board.
2. Added support for a++ and b+ board pins.
3. Initial commit for tests coverage.