Correct TODO link
some cleanup and checks for structured schemas

Summary:
moved options, key types, and the max key length into constants to avoid typos.
Added check for key values at schema, table, and column levels.

Test Plan: go test ./structured/...

Reviewers: spencerkimball

Reviewed By: spencerkimball

Subscribers: team

Differential Revision: http://phabricator.cockroachdb.org/D84
Update .travis.yml
batch operations with ordering
First, some small updates to README.md and addition of .png and .pdf files to resources subdirectory.

Summary:
The bulk of this change is adding permission checking to the kv/
distributed DB and enhancing the kv/ local DB to own multiple stores
and to have the ability to lookup replicas based on keys. This is
a precursor step to allowing a shortcut directly to the local DB for
cases where the operations are being run on the physical node which
owns the leader of the range replicas. This is going to happen on
small databases frequently, and also on more macroscopic operations
done via the structured data API (e.g. an update which causes a full
text index and secondary indexes to update, resulting in 50+ reads
and writes). Not going through the network stack for each read/write
will be important for performance.

The prefixConfigMap has been simplified to contain only a single array
of prefixConfig objects. This makes it possible to gossip the structure.
Previously, the canonical mapping would end up with a gob encoding which
ruined it. Also implemented a visitor pattern when splitting ranges by
the prefix map so that fewer Go objects are created. We have to use this
for every permission check, so it needs to be efficient.

Added a mapping for writing and reading operations and split out
ConditionalPut, as it can both read and write, whereas Put only writes.
This is important as I believe we will end up having tables which are
write-only.

Simplified how "commands" (e.g. operations) are passed through from
localDB to store or from node to store, and from store to range. The
changes here are all in preparation of combining distributed transactions
and raft. Follow on changes will build there.

Test Plan: go test

Reviewers: bdarnell, andybons, Tobias

Reviewed By: andybons

Subscribers: team

Differential Revision: http://phabricator.cockroachdb.org/D87
Expand LRU cache to support FIFO and arbitrary eviction decision making. Also added an additional llrb backing store to support binary searches in the cache.

Test Plan: go test

Reviewers: andybons, Tobias, petermattis

Reviewed By: Tobias, petermattis

Subscribers: petermattis, mrtracy, team

Differential Revision: http://phabricator.cockroachdb.org/D89
Introduce the Read-Timestamp cache, as described in the design document.

Summary:
It uses an interval tree cache to keep track of key ranges which have been
recently read. It also maintains a "high water mark", used as the default
answer for how recently a key has been read in the event that no other
information is available, either because the key hasn't been read within
the process' lifetime or a prior read for the key has already been evicted
from the cache. The high water mark is initialized to the current time +
the maximum clock skew to ensure that at startup, the cache will never
respond with a too-early timestamp for the most recent read of a key or
key range. This is necessary for correctness.

The system uses the read-timestamp-cache to prevent transaction writes
from writing to any key whose value has already been read at a later
timestamp. If this were allowed, then transactions would in effect be
allowed to rewrite history.

Test Plan: go test

Reviewers: Tobias, petermattis, andybons, bdarnell

Reviewed By: bdarnell

Subscribers: team

Differential Revision: http://phabricator.cockroachdb.org/D92
WIP on range splitting

Summary: add key helpers and a local/replicated key range split key

Test Plan: make test

Reviewers: andybons, spencerkimball

Reviewed By: spencerkimball

Subscribers: team

Differential Revision: http://phabricator.cockroachdb.org/D83
Merge pull request #1 from cockroachdb/master

Update from original