Finished DataLogger implementation
I really don't like doing dynamic memory stuff. Maybe some macros can
alleviate some of that stuff.
Added initial protocol documentation
Adding type metadata to settings