Document rake compile
Provide per-error-type exceptions for HyperDex::Client

This allows users to catch individual exceptions, rather than having to
parse error messages.  This change *should* be entirely
backwards-compatible, because HyperDex::Client::HyperDexClientException is
still available for people to rescue against, if they enjoy excessive typing
(HyperDex::Client::Exception now exists as the base class of all
HyperDex::Client-specific exception types).