Add deleteContainerIfEmpty to BlobStore

This matches how most blobstores operate: delete container is a single
operation, not a compound operation which recursively deletes blobs.
Azure is the only provider which allows deleting a non-empty
container.
Allow Javadoc to reference imports

These style errors continue to creep in due to IDE misconfiguration so
we might as well stop checking for it.
Remove loop to gather metrics

This loop dramatically increases integration test run-time for no
discernible benefit.
Try iso8601SecondsDateParse if iso8601DateParse fails.

S3 compatible blobStores sometimes return date in the format:
"2014-07-23T20:53:17+0000" instead of the more common
"2014-07-23T18:09:39.944Z". This caused jclouds to barf with an
IllegalArgumentException.

This commit tries to parse both the formats for S3. The exception
is thrown if both fail.

Added unit tests for the same.
Handle possibly null message from IOException
Correct comment
'iso8601DateParseWithOptionalTZ' -> 'iso8601DateOrSecondsDateParse' in DateService

Follow-up to d57bbebe
Move jclouds-chef to the main jclouds repo
Revert "Move jclouds-chef to the main jclouds repo"

This change will be added again after the 1.8.0 release.

This reverts commit 867c7a407c1db8f56ff3211d70481755cf71440f.
Adds support for ImmutableMap in jclouds gson
This implement ImmutableMapTypeAdapter, ImmutableMapTypeAdapterFactory, tests and wiring (instead of the Deserializer approach).
This is more code, but is implemented for 2 reasons:
More efficient.
Handles nulls consistently (like MapTypeAdapter).
Refactors to remove most of the code. Yey!