Use py.test

It is build on top of #152.  Running "py.test test/test_integration.py" should be equivalent to "python test/run.py".  But there are some failures and errors which I don't know why it is happening.  Please have a look.

For example, check this out:
```
py.test test/test_integration.py -T generators.py:10,13,19
```
It yields:
```py
cls = <class 'jedi.recursion.ExecutionRecursionDecorator'>

    @classmethod
    def cleanup(cls):
>       cls.parent_execution_funcs.pop()
E       IndexError: pop from empty list

recursion.py:120: IndexError
```
I think this should not happen even if I break the test completely, right?