Renamed ca_data_parse_* to ca_parse_*

"Data" is a redundant qualifier in a database environment.  data.c was also
renamed to parse.c.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Updated design.txt to match heightened ambitions

I'm planning to add an MVCC backend similar to PostgreSQL's, to be able to
support partial DELETE and UPDATE while retaining ACID properties.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
table-backend-writeonce.c: Corrected variable usage in lower_bound algorithm

Instead of returning the lower bound of the result range, the middle of the
last penultimate range was returned.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Refactor to remove assumption about first column being TEXT

Instead, multiple struct iovec are now used to pass a single row.  The limit is
currently 2 elements, and large portions of the code assumes "write-once" is
the backend.  The plan is to fix this by removing ancillary tools and moving
all functionality into ca-shell's query processing.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Added tests for the "write-once" backend

I got nervous about breaking stuff after tonights refactoring, so it was time
to add a test.  The test adds a bunch of values, sorts them and verifies that
they can be read sequentially and in the original order.

This test was also used to discover the binary search bug fixed in 4dd89a8.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
table-backend-writeonce.c: Add comment about syncing directories

Directories must be synced in order to guarantee durability of the contents of
a newly created file.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>