Added quorum_lookup

quorum_lookup picks lookup_result_enties by following rules:
1. If there are quorum lookup_result_enties with the same
timestamp, they are the final result
2. Otherwise the final result is lookup_result_enties with
the greatest timestamp
Added parallel_lookup

It lookups an information for the key in parallel in all groups
You should use it in case of you need lookup_result_entry from
more than one group
This method allows you to get lookup_result_entries almost
simultaneously from all replicas
In fact time of work almost equals to time of the slowest group
Opposite time of work of a series of lookups equals to amount
of time of work of each lookup
Fixed code style
Reimplemented prepare_latest, parallel_lookup and  quorum_lookup

Now all this lookups have common base
Added tests for parallel_lookup and quorum_lookup
Uses checker in parallel_lookup_impl to be able to check reply_error
Added comments for tests
Set total_count of handler for correct work of session's checkers

Also quorum_lookup doesn't set a reply_error, the reason is:
- it's possible to get good responses from the quorum of groups and
  errors from the others and it's not an error in general for quorum_lookup
- it's possible to get only a good result from a group and errors from
  others and it's also not an error for quorum_lookup
If user want to distinguish these cases, he can set a corresponding
checker for session
Fixed test_quorum_lookup and added several tests:

test_partial_quorum_lookup
test_fail_partial_quorum_lookup
test_fail_parallel_lookup
test_fail_quorum_lookup
Merge pull request #495 from iderikon/master

Added quorum_lookup