NCBC-301 StatusCode improvements for client errors

I added a new enum StatusCode so that we have a consistent interface for
tracking the Status codes of operations. The current implentation returns
Integer values for these codes and does not include client side codes in cases
where the client fails before the operation is sent to the server. Besides the
standard binary memcached protocol status codes, I added another for socket
time outs.

Also, I have yet to write a unit test that consistently causes the socket
timeout to occur, thus I have omitted unit tests for this commit

Change-Id: I92d5d1fb95c11da7980bf580a06ce4eca005034d
Reviewed-on: http://review.couchbase.org/29175
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Matt Ingenthron <matt@couchbase.com>