Initial implementation on eventloop

Timers don't work yet
Restore startApp/serviceApp division of labor
Greatly improve responsiveness of interruption on Windows
Conform to API changes in eventloop package
eventloop package renamed to httpuv
Restore filter functionality
httpuv-style file uploading

Use HTTP POST to upload files rather than sending 4K chunks
one at a time over the websocket. This is massively faster and
also means no binary websocket support is needed. In theory
this approach should be compatible with Shiny Server.

Currently the client side code still uses File API which means
IE8 and 9 users are out of luck.
Remove dead upload code
File upload improvements

- Add "shiny.maxRequestSize" option
- Show upload progress
Don't initiate file upload if no files were chosen
Update upload docs
Check for excessively large uploads before they begin

The onHeaders callback is supposed to be able to stop large uploads before
they begin, but do not appear to be having the desired effect. The browsers
continue uploading until completion, before noticing the response. To work
around this for now, upload the sizes explicitly when the job begins and
let Shiny pre-emptively reject the whole thing. This is also beneficial
in cases where multiple files are being uploaded and not all of them
exceed the maximum upload size.
More memory-efficient file uploading
Don't animate when showing file upload error
Memory-efficient file downloads
Merge remote-tracking branch 'jcheng5/httpuv'

Conflicts:
	R/shiny.R
File uploads failed when no content type was provided

The simple fix for this would've been to just guess the content
type on the server (or use empty string or something), but by
doing the fix this way we're also set up to handle uploads by
servers that don't allow custom headers on AJAX calls.
Merge remote-tracking branch 'jcheng5/master'

Conflicts:
	R/shiny.R