Add DataTables-based viewer for tabular data

This change implements a new viewer for tabular data (`data.frame` and friends). The viewer takes the place of the existing data viewer. It's built on the popular [DataTables](http://datatables.net/) library.

![image](https://cloud.githubusercontent.com/assets/470418/5309164/cd6c8244-7bd4-11e4-9dd3-2af5e162787a.png)

DataTables provides virtualized scrolling of large datasets, fixed headers with sort UI, and maintenance of view state, but all of the interesting data-related work (sorting, filtering, etc.) happens in R. The DataTables client bundles the client state and sends it to the server, which returns the slice of visible rows requested.

(Not ready for merge; needs review)
Do we want to specify caching behavior here? Two possibilities:

(1) There is Response::setNoCacheHeaders (or something like that) which specifies that caching never occurs; or
(2) There is setCacheableBody call which does etag (content hash) based caching.

Seems like we'd want to specify one or the other depending on the semantics. Let me know what you think.