Implement writes series data on database

Not ready yet, just opening a PR to start some discussion.

The interface for interacting with the metastore feels clunky on my first pass trying to use it. I almost feel like there needs to be another abstraction over those transactions.

For example, this spot https://github.com/influxdb/influxdb/compare/write_series?expand=1#diff-320bbef96d874515320f176727a55ea8R410 where I have to close over the variables and set them feels really off.

Thoughts @benbjohnson?
@pauldix I personally like to have `CreateXXXIfNotExists()` functions return the value so you don't have to do this get-then-check-nil-create dance. For example, Bolt's `Tx.CreateBucketIfNotExists()` uses this pattern and it works well.

http://godoc.org/github.com/boltdb/bolt#Tx.CreateBucketIfNotExists