Preserve and expose x-riak-deleted / PB deleted

If the X-Riak-Deleted header is present in an HTTP response, or the
deleted field in a PB response, this will now be carried up into the
IRiakObject. Addresses #157
Fixing tombstone support

There were a number of issues with the client as to how tombstones
were being handled. These changes create (IMHO) sane and consistent
behavior regardless of protocol (HTTP/PB)

1) Tombstones will be returned if the returnDeletedVClock(true) method is
called on StoreObject / FetchObject. If this is not called, tombstones will
either not be retrieved in the case of PB or silently discarded in the
case of HTTP. They will not be passed to the Converter or the ConflictResolver

2) Regardless of whether there is only a tombstone or a set of siblings
that contain a tombstone, an object will be returned from the underlying
original clients if tombstones have been requested. This solves a problem
where previously two different behaviors occured depending on which of the
above was the case.

3) The default JSONConverter will no longer crash if a tombstone is passed
to it; a new instance of their POJO will be created and returned. In addition
as a convenience a new annotation (@RiakTombstone) is available. The user
can annotate a boolean field in their POJO which will be set to true if
the object represents a tombstone.

4) The IRiakObject interface and our DefaultRiakObject now have a isDeleted()
method. This will return true if the object represents a tombstone.
Merge branch 'master' into gh157-expose-deleted

Conflicts:
	src/main/java/com/basho/riak/client/convert/reflect/AnnotationInfo.java
	src/main/java/com/basho/riak/client/convert/reflect/AnnotationScanner.java
	src/main/java/com/basho/riak/client/operations/StoreObject.java
Removed last usage of FetchObject.hasDeletedVclock
Added tests for tombstone handling

Added integration tests that exercise the new tombstone
handling.
Added to all tests, fixed small bug in test
Made UndefinedStatDeserializer global

Changed so that the UndefinedStatDeserializer will always
be used rather than just on specific stats.

fixes #208
Fixed javadoc
Merge pull request #195 from basho/gh157-expose-deleted

Fix Tombstone handling, expose to client.
Merge pull request #209 from basho/gh208-deprecated-stats

Made UndefinedStatDeserializer global
Merge branch 'master' into temetra-riak-client
Merged with master