Allows @before to decorate a test method and accept a func to call before that method

This lets you do stuff like this:

``` python

class TestCase(TestCase):

    def do_stuff(self):
        print 'do stuff'

    @before(do_stuff)
    def test_it_does_things(self):
        print 'it did things'
```

When `test_it_does_things` is run, it will run `do_stuff` first before running `test_it_does_things`. Thus the output would be:

```
do stuff
it did things
```