NCBC-540: Ensure TTL follow rules when a TimeSpan

Motivation
----------
The manner in which TTL is passed to the Couchbase Server is codified.
TTL parameter > to the number of seconds in 30 days (30x24x60x60) are
interpreted as a unix timestamp instead of a duration in seconds.
This should be as best as possible reflected in the SDK.

Modifications
-------------
Expirations expressed as a TimeSpan are converted following these rules
(the extension method will return a unix timestamp if the TimeSpan does
exceed 30 days).
Methods accepting a uint are for now not modified but documentation has
been added to explain the expected values.
Added unit test on the TimeSpan ToTtl extension method to check this.

Result
------
Users of the SDK willing to set an expiration are now informed about
the rules and those rules are automatically followed if they declare an
expiration using a TimeSpan.

Change-Id: Icb507ad74d4398bb9bb5d36ac9167dece685a25f
Reviewed-on: http://review.couchbase.org/43948
Reviewed-by: Jeffry Morris <jeffrymorris@gmail.com>
Tested-by: Jeffry Morris <jeffrymorris@gmail.com>