Made possible customize Arbiter class in base app.

Now not need to rewrite run() method in base application class to specify
custom arbiter type. Also factory function can be used to produce Arbiter
class in runtime.

Tips:

```python
>>> class MyArbiter(Arbiter):
...     pass
...
>>> arbiter_factory = lambda x: MyArbiter(x)
>>> class MyApp1(Application):
...     arbiter_class = MyArbiter
... 
>>> class MyApp2(Application):
...     arbiter_class = arbiter_factory
```