Support multiple formatters

This PR enables behave to use several formatters:
```
behave -f json -o output.json -f plain -o plain.txt -f pretty
```
Note, that if one of the outputs is omitted, sys.stdout will be used

This should fix #47