Implement cluster CLI commands

Implement the following commands using riak_cli:

* cluster status (improved member-status)
* partition-count
* partitions
* partition id=\<id\>
* partition index=\<index\>
* members

TODO: After merge, some code clean up and boundary checking.

**NOTE**: This PR depends on a forthcoming PR in riak to support an updated riak-admin. Will link it here when its available.
I've been thinking about this a bit. I didn't really intend for implementers to constantly call `riak_cli:print/1`. I intended for it to be called automatically and use the proper writer module given global --csv flags etc..., but of course I didn't implement it that way. I spent a lot of time focusing on config the last few weeks and if you look in riak_cli.erl you'll see that the config ops (show, describe, set) wrap the output in a print statement, and the callbacks themselves return errors tuples or status types. Returning errors works fine for config because it's all internal and riak_cli_error knows how to parse the riak_cli specific errors and generate alerts from them. However, since that requires modifying riak_cli itself, outside users of riak_cli should only ever return status types in callbacks. 

This was a mistake in implementation that I will fix on Monday. We can then modify each PR to do the right thing and only return a status(). In your case it will just be removing the riak_cli:print/1 calls. Hopefully the same elsewhere.