RF_String is now no longer null terminated.

Also lots of other changes towards a more clean library
including but not limited to:

- Removing our own printf. Using %.*s to print RF_String
- Removed some old code
- Abstracted code around and removed macros that should have been inline functions