Added data type to each field, Tidy ups to documentation, changed to_json to to_string, ObjectField is now DictField

Data type is so codecs can more easily determine if a particular field needs to be represented by an alternative data type (Ie JSON needs to convert a datetime to a string representation)
Change of to_json to to_string is to decouple library for JSON format, note that the to_json method is kept for backwards compatibility but will be removed in the future.
ObjectField has been renamed DictField to be more in keeping with python. ObjectField has been retained for backwards compatibility but will be removed in the future.
ObjectAs renamed to DictAs, fixed variable name typo bug
Add support for clean_FIELD methods. Remove references to JSRN, added option to disable full_clean of resources in create_resource_from_dict