Bug fixes?

These are a few fixes I needed to get Olingo working as a client to my company's API.  Thanks for all your work on getting Olingo 4 going!

- Iterator -- We had a requirement to provide strongly typed models without requiring the user to cast. Thus I needed access to the odata client and cached fields to allow for overriding.
- URIUtils - I noticed a bug where I set `useChunked(false)` in my client but requests were still sent as chunked. Fixed by specifying the content length.
- Metadata -- If I changed the `defaultPubFormat` to be `JSON` (minimal metadata, OData 4 default) or `JSON_NO_METADATA` my requests were still sent with full metadata (which our server couldn't handle for some reason).  Fixed by checking to see what format is being used before actually writing the metadata. I didn't cover all scenarios in testing, just what we needed, so use this as a starting point.  There are likely some optimizations that I didn't bother trying to figure out for our limited scenarios.