Small changes
Fixed a compiler error.
Add John's consistency design
Add John's recovery doc. Move to more open RTF format
Merged Deep's wire protocol to api

- Changed IndexType, Inclusion and SortOrder to `string` so that it will pleasant
  looking for both debugging and demonstration.
- Merged `IndexInfo` structure into api.go
- Changed `Key` and `Value` type to `[]byte`.
- Added a new type called `KV`. And correspondingly, KVSet() and KVRange() APIs.
- Structures needed for REST API are defined under rest.go
`IndexType` type definition.
REST API implementation.

indexer.go - Implements Indexer interfaces used by client and server.
client.go - HTTP REST client in Go to access main/server.go
main/server.go - HTTP REST Server for indexer
Manik's concern on the too much of data exchange between query and indexing.
Implement different types of keys.

like string, json, integer, bytes etc... implementing the `Keys` interface.
Another iteration on indexing apis.

This time there is an indexing server that implements `IndexManager` interface
and a rest client.

`IndexManager` interface was previously known as `Indexer`.
Contains HTTP REST definitions for indexing.
LLRB (Left Leaning red-black tree) in memory indexing.
HTTP REST server and HTTP REST client.
Remove old stuff
Moved server.go from indexing/server/main/ to indexing/progs
Moved server app to progs/

Added TODO items.
Updated TODO list.
Added Compare() method to `Key` interface.

Correspondingly types implementing `Key` interface under keys.go implements
Compare() method-receiver.
Example REST URI and corresponding methods.
Changed NInf and PInf to NegInf and PosInf.