added takeTimeout - returns an Observable which will end when the duration expires
takeTimeout thread safe
Fix tests
Merge branch 'feature/takeTimeout' of github.com:creyer/monifu into creyer-feature/takeTimeout

Conflicts:
	monifu/src/shared/scala/monifu/reactive/Observable.scala