Fixed errors handling in async_result_handler::complete

In case if error is determined by checker m_data->error was not set properly
Whitespace cleanup and indentation fixes
Fixed friend and forward declarations of exec_context_data
to call it a struct (and not a class, for exec_context_data is a struct really)
New exec() variant which gets id and src_key from existing exec_context.
New method in exec_context to retrieve src_key from underlying sph.