Blaze server

Here is a tiny replacement for catalog.  It doesn't do any of the directory management tasks but it does cleanly expose `getitem` over a simple HTTP API.  This API takes structured JSON data and so should be easy to interact with.  Because this interacts with the `blaze.data` getitem syntax this should extend to a variety of data formats.

cc @mwiebe

Disclaimer, my web-programming skillz could use some work.  Suggestions welcome.

### Example

```Python
In [1]: from blaze.serve.server import Server

In [2]: from blaze.data.csv import CSV
c
In [3]: csv = CSV('user_edges.txt',   # bitcoin data
          columns=['transaction', 'sender', 'recipient', 'timestamp', 'value'],
          hints={'timestamp': 'datetime'})

In [4]: server = Server(datasets={'bitcoin': csv})

In [5]: server.app.run()
```

```
$ curl -H "Content-Type: application/json" \
       -d '{"index": [{"start": 0, "stop": 1000, "step": 100}, "timestamp"]}' \
       localhost:5000/data/bitcoin.json
{
  "data": [
    "Wed, 10 Apr 2013 14:22:50 GMT", 
    "Mon, 26 Nov 2012 13:18:27 GMT", 
    "Sun, 03 Feb 2013 16:05:19 GMT", 
    "Tue, 13 Nov 2012 17:57:13 GMT", 
    "Sat, 09 Mar 2013 17:34:26 GMT", 
    "Wed, 10 Apr 2013 14:20:16 GMT", 
    "Tue, 26 Mar 2013 18:14:26 GMT", 
    "Tue, 26 Mar 2013 18:14:26 GMT", 
    "Tue, 26 Mar 2013 18:14:26 GMT", 
    "Wed, 11 Jul 2012 15:47:41 GMT"
  ], 
  "datashape": "10 * datetime", 
  "index": [
    {
      "start": 0, 
      "step": 100, 
      "stop": 1000
    }, 
    "timestamp"
  ], 
  "name": "bitcoin"
}
```

<!---
@huboard:{"order":337.0,"custom_state":""}
-->