Adding support to create self closing Observables from Cursors

An optional overriden method allows a mapper function to create
instances of a type from the Cursor as the Observable iterates
over it.

Signed-off-by: David Marques <dpsmarques@gmail.com>
I guess I was trying to leverage the Observable.from(Iterable<T>) but looking at it now if I follow your suggestion there will be probably less code overall anyway.