Update to API 30.0

Updated all classes to API 30.0 and pulled out test code to separate class where applicable
Some cosmetic changes (spaces)
Updated config setting to hierarchy