Applied standard code style guidelines.
Removed all asynchronous types since this goes beyond the original scope of this library and posed some consistency problems.
Added two new combinators: RecoverWith and Flatten. Renamed some tests.