don't complain everytime we return an error back to the clien
outer scope for counters, since when building with -DSHARDCACHE_DEBUG they need to be accessed again
restore gcc flags
shardcache client: calloc() our auth secret if we have one
Merge pull request #1 from dgryski/client-auth-malloc

shardcache client: calloc() our auth secret if we have one
shardcache_get_nodes() now returns a 'disposable' copy of the shards array

this is safer since if a migration is in progress the shards array can be switched with the
new one anytime. Apart returning a copy it's also necessary to hold the migration_lock
while actually making the copy
The returned list is now a copy and needs to be freed
allow the client library to report errors

so that clients can distinguish between a value missing and an error occurred
when using the shardcache_client_get() API

errors are reported also for the other operations
(check utils/shardcachec.c an example on how to collect the error from the
 shardcache_client instance)
bugfix : don't look for the clen sequence while we are still accumulating data
allow to access the errno and errstr in the shardcache client
new message type to allow gathering stats from nodes using directly the internal channel

instead of accessing them only from the http frontend provided by shardcached
 implemented a simple health check

returns OK / NOT-OK and it's implemented using the new CHK message type
expose 'stats' and 'check' from the shardcache_client library
mention the 'stats' and 'check' commands in the usage message

and fixed a check (even if it should be just written differently)
documentation
updated to mention the latest extensions to the protocol

introduced also two new message types IDG (index-get) and IDR (index-response)
which can be used to obtain the index of a running node from the internal
communication channel
fix: shardcache_free_index() should be used to release all resources referenced by a storage index
added support for the IDG and IDR commands

still untested ... support in shardcache_client to allow testing will be added shortly
index is now transmitted/received properly through the internal channel

utils/shardcachec is an examples showing how to use it
check if the connection was successful before assuming it was

now the error is set properly and the client can notify it