Reactive Dialog

This PR adds a DialogFragment returning an Observable<T>.

This allows for composition of actions over UI interactions (asking a user for data, confirmation etc..)