Implement testing framework

Add a general layout for how testing will happen. Kiefer is working on
the actual GPIO output ATM. Also adds functions to translate from (x,y)
pin connections to the internal connection numbers and vice versa.

Adds SOCKET_SQSIZE in common.h, which controls the size of the socket
expected for the translating and reading/testing functions. Any size
that is greater than 2 should work.
Add images of grids Calvin used to derive translation algos.

Could be useful later, idk.