refactor send() to accept send(req, path) as well as send(path)

- added `req` as an optional param to `send(req, path)`
- should be backwards compatible, but opts out of certain request based security things (it just ignores them if you don't pass req)

There was a pretty nasty dependency here:

https://github.com/visionmedia/send/blob/master/lib/send.js#L289

I thought factoring out req entirely would make this a bit more predictable... although I can see not wanting to expose req.

This took about 5 minutes, so feel free to toss it. I wouldn't merge this even though tests are passing... this is more of a... 'how bout this api'.

The big thing to note before merging is I changed the main test macro to use `send(req, path)`. Thats really dangerous, but if you're for this api, I can write up some decent tests.