Browserify

This pull request is an(other) attempt at using [browserify](http://browserify.org).

This is very much under :construction:, I am opening it so we can discuss approaches and outstanding issues.

---

The `lib/sinon.js` file would build up the top level of the api by requiring all the relevant files.

We should probably make a decision on whether or not we're going to keep the API unchanged or clean it up and create a new major version. For instance, is it essential that `sinon.format` is public? @cjohansen @mantoni, what you do think?

So far, I've been working with the idea of splitting everything into it's own file and reduce dependencies between the different parts of Sinon. Thus, the circular dependency between `deepEqual` and `sinon.match` has been broken. Unless I hear otherwise, I'll continue down this path.

---

You can run the tests in vanilla Buster with

```
$(npm bin)/buster-test --config test-buster/buster.js
```