Prepared for precompiled headers (gch)

Also some code cleanup.
Calls abort() if future callback throws exceptions
Free version