Split client, proxyfactory and proxy classes out of jigna.

Had to make jigna listen to the model_added event, because the client adds the
models.
Move async client to a new file.