Lots o' Refactorings to RTParser, and some updated unit tests to reflect some functional changes. Now empty keys are reject instead of set to @""