Adding support for "stale" and "consistent" read modes

Previously, Consul had only a single read mode which exposes clients to stale values under certain conditions. This PR adds two new consistency modes, "stale" and "consistent". The "stale" mode allows any follower to service a read that is potentially unbounded staleness. This provides horizontal read scale for clients that don't care about a 50msec stale read. The "consistent" mode allows for fully consistent modes, and shields the client from stale reads, at the cost of extra read latency.