TWI Driver code and test added.

It's ugly. Clean up will be in the next check in.

I wanted to check in now just in case I messed something up.