Add support for transport plugins

This patch introduces support for registering additional transport plugins, thus making it possible to override how Raven pushes data into Sentry.

New transports are added using `Raven.registerTransport(protocol, handler).` where `handler` is an object implementing the signature `{ setup: function(dsn, triggerEvent), send: function(data, endpoint) }`.

What transport is used is figured out by parsing the DSN passed into `Raven.config`.

This patch also introduces a `V8Transport` which uses CORS to push data into Raven via XHR.

Further discussion can be found here: https://github.com/getsentry/raven-js/issues/157
I'd recommend also checking if the user wants https here so they could also use http+post

```javascript
if(!dsn.pass && dsn.protocol == 'https+post')
```