Implement retrieving custom field definitions

The attached changes utilize the custom_field-api created by http://www.redmine.org/issues/9664 to retrieve the field definitions from the redmine instance.

The existing unittest still work, two new unittests verify the new functionality.
This line could throw NullPointerException because id type is Integer, not an int. NPE is not expected to be thrownfrom hashCode. Please, fix this method to deal with null IDs correctly.