Moves optional constructor parameters,  and , to setCurl() and setMemcached() methods
Adds more docblocks
Decouples Memcached and simplifies caching in Client::api()