Clean up the exception hierarchy.

Throwing Exception is not useful for the user, so I removed unnecessary `throw`
statements and IOException for the URL encoding. I also had to encapsulate the
JSON building in its own class to avoid having to do catch {....resetRequest()}.
Use the documented 'ms' time for milliseconds.

Documentation says 'ms' here: http://influxdb.com/docs/v0.7/api/reading_and_writing_data.html
'm' works but 'ms' is the correct one, so could avoid deprecation problems in the future.
Remove the timePrecision parameter to the constructor.
Since we are calling Clock.getTime() which returns the time in milliseconds, the server should always expect the time to be in milliseconds. This parameter is unnecessary and confusing for users
Roll version
Change public API back to throwing Exception
Merge pull request #4 from bcoughlan/master

Fix exception hierarchy and solution for issue #2