Added David's thoughts to datastore goal articulation; added client architecture section
Update README.md
Split ranges along accounting and zone configuration prefix boundaries.

Each store registers a gossip callback for accounting and zone config
maps. On callback, the zone does a binary search using the rangesByKey
sorted slice to find possible ranges which might be intersected by
config map prefixes. On possible hits, the range is dissected along
prefix boundary lines and if there's a necessary split, the range is
split and the process retried.

This allows new zones or accounting prefixes to be specified and ranges
will automatically be split to fit.
Address concerns about elegance/readability of split on config.

In the process found an error in the prefix config code exercisable
when there are successive prefixes in a config map, such as
"db1" and "db2". Added a unittest for that case.

Also, discovered we were always re-gossiping config data on every
write because we weren't paying attention to a "real" dirty bit--
we were always copying the struct in the ranged for loop and so
never setting the dirty bit to false after gossiping.
updated client architecture diagram
update to client architecture diagram
Fixed race condition in gossip callbacks test.
OK, really fix data races this time
Upgraded the gossip callback to include contentsChanged bool.

This informs the callback callee whether or not the actual contents
of the info were updated. This can save a lot of work in the event
that the new info just has a shorter number of hops or an updated
timestamp but the same contents--we expect this to be a common
occurence.
added check for whether the range is the leader before initiating splits
Call, Prepare/Flush, and RunTransaction examples.

Example functions for a simple Put & Get using Call(), Prepare() &
Flush(), and then RunTransaction().

Each example is self-contained, and includes the server
setup/teardown.  This makes the code closer to what would be used in
an actual client program.

Named all examples so that they will appear in the correct section
of the documentation.

The Prepare() & Flush() is a bit long because we have to create the values
we are later scanning for.

All the examples have been updated to match the coding style and
fix other issues.  Prepare/Flush example now runs multiple scans for
sub-ranges of the keys in parallel.
Respond to Tobias' comments
Merge pull request #179 from cockroachdb/spencerkimball/split-on-config-changes

Split ranges along accounting and zone configuration prefix boundaries.
Fix double space.
Don't specify isolation level in transaction.
Merge pull request #178 from jamesgraves/client_examples

Example code for basic Call and Prepare/Flush.
fix a (rare and testing-only) data race