Cleanup and formatting, added InvalidCastException which extends CallerException
adding travis config file