Bits and bobs bugs and typo fixes.
Move most of the typedefs to constant.h

Then both EthernetControl and AP2 can use them without circular refernece nonsense.
Clean up unused functions and fixed interger types.
Big clean up of APS2 but leave heaps of TODO's.

Mainly having to do with setting/getting bits of status registers.
I think we can do this much more cleaning with the bitfields.
Remove FGPA dependency in CMake file.
Keep on trucking with the clean-up.
Added Linux method for getting device MAC address.
More fixed width integer fixes.
Fix some brace initialization mistakes.