Make joda time dependency optional

* Added a FeatureDetector which caches info about optional dependencies
* Only register Joda converters if features is enabled (meaning dependency exists)
* Removed the DateTime version of `Query.addParameter`, and check for DateTime in the Object version of `Query.addParameter`
* Removed `Row.getDateTime` because people can use `Row.getObject(colName, DateTime.class)` to accomplish the same thing