New futures

* Added new futures to services
* C++ error_code is used in service_exception_t
* TOFIX: callback posted with reactor_t.post is called after a few seconds.
  I tried to fix it with ev::async, but it didn't help.
A lot of changes in services again

* Client can reconnect to service (if was disconnected). If client was disconnected and user does call then client throws exception and user can do reconnect (or async reconnect!).
* Service manager is important component now. User can obtain service client only with service manager. Also
service manager handles connection to locator and thread in which service clients work.
* Changed api for service stubs. Stub now HAS service client, not IS.
* Logger and storage stubs are changed in accordance with new api.
* It doesn't compiles now, but i want to make commit =)
Fixes to make code compilable

Summary of changes, that work now:
* Client can reconnect to service (if was disconnected). If client was disconnected and user does call then client throws exception and user can do reconnect (or async reconnect!).
* Service manager is important component now. User can obtain service client only with service manager. Also
service manager handles connection to locator and thread in which service clients work.
* Changed api for service stubs. Stub now HAS service client, not IS.
* Logger and storage stubs are changed in accordance with new api.
* TOFIX: cocaine terminates worker while system logger tryes to get verbosity from service, so i hardcode debug level for now.
Streamed api for services added.
Fixed building with CMake.

Commented out some unused variables to silence -Werror. Updated
CMakeLists.txt to reflect source file hierarchy changes.
This shit finally works

Just make streamed api to work.
Merge branch 'new_futures' of github.com:cocaine/cocaine-framework-native into new_futures

Conflicts:
	include/cocaine/framework/service.hpp
Stub for applications

Stub to call applications in cocaine added.
Framework now tries to reconnect automaticaly

Framework automaticaly reconnects if connection is lost. Also when connection is lost, framework sets exception in all pending futures. If user calls service while it's not connected then service throws exception 'not_connected' or 'wait_for_connection'.
Also i forgot to commit future.cpp.
Fix of segfault and little 'map' improvements

Stream now directly calls 'map' callback when value is pushed. Before it first pushed value in queue and then called callback that pops it back.. Also here's fixed bug that leads to segfault (it was wrong cleaning of 'then' callback).
Several improvements in services

* Fixed bug with locking in eventloop. Service wakes eventloop up when creates channel, and eventloop begins poll socket.
* Service manager correctly stops eventloop in destructor.
* Services correctly handling own manager with weak_ptr (before they handled it with reference and could segfault).
Accept calls to service while reconnecting

Now when client is reconnecting to service it can accept calls and write them to buffer. When client connects all requests will be sent to the socket.
Reset all pending sessions if reconnection failed

User can call service when it reconnects, so if reconnection failed then client must reset all pending sessions.
Example of using of services
Update CMakeLists
Allow to create service manager without logger

Services write debug messages to 'system logger' provided by service manager. But user may have no logger, so he can create service manager without logger now.
Localize lock

Lock to access map with sessions is localized now. So service thread can work while main thread packs call and sends it to service.
Fixed race when service manager destructs

Before service with channel could be removed when event-loop is running. It led to bad function call. Now service manager owns all conections to services and it guarantees that all connections will be removed correctly.
Old service client class (service_t) is now renamed in service_connection_t and hidden from user, service manager owns all instances of this class. User access connection through special wrapper (old service_stub_t), that doesn't own connection and throws exception when connection is removed. Since user sees now only service_stub_t, then this class is renamed in service_t.
Response from a service is provided by generator

Before call to service could return future or generator, but now it always returns generator.
Upstream can write any object, not string only

* Now upstream takes an object, packs it with msgpack, and then sends it.
* Also added functions to easy unpack an object packed in chunk.
* Deprecated API removed.