merge stable back to support `git describe`
bump doxygen documentation version
use boost::dynamic_pointer_cast() instead of boost::shared_dynamic_cast()

boost::shared_dynamic_cast() was deprecated a long time ago (since boost 1.35) and was removed in boost 1.53
support for "keep-alive" connections

when HTTP request is done, and Connection header is "keep-alive" HTTP client puts the connection into internal cache.
This connection will be used for the next requests to the same server (the same endpoint: host name and port)
two-phase resolving

the first attempt uses protocol name of the URL as a service name
the second attempt uses port number as a service name

because some platforms doesn't support name resolution with protocol names
log::Target::File::startNew() method - ability to reset log file at any time.
multimap as a container for headers in order to support cookies

we have to use multimap because there are many Set-Cookie headers
base16 encode/decode
hive::log support for thread identifiers
update project files for new DeviceHive headers
hive::log very limited multi-threading support

now it's possible to *send* log messages from various threads - there are mutexes for File and Stream targets.
logging configuration (setting targets, formats, levels etc.) should be still done from the main thread!
give::log - use lock_guard instead of unique_lock
http::Url::Builder methods to set main properties
make Url constructors implicit

to be able to convert string to Url, and to extend Url::Builder constructors to support string types
use Task{address} and Connection{address} forms in the log output

use INFO level for start/timeout/finish events
keep-alive monitor

once connection is being putted to keep-alive cache we start keep-alive monitor - just read some data to the dummy buffer.
if connection is closed by the server side during idle period, then keep-alive monitor ends with EndOfFile error code and connection will be closed and removed.
all of these is because Connection::is_alive() doesn't work properly - this method was removed.

we stop keep-alive monitor just before get connection from the keep-alive cache.
"default_workarounds" option should be set for SSL context member

in order to make HTTP client work properly with IIS server.
Without this option server will forcibly close connection at some point of time.
Thanks to Nikolay Peganov.
special isKeepAlive() method to check if connection can be cached

the keep-alive flag is varied for HTTP 1.0 and HTTP 1.1:
HTTP 1.0 uses "Connection: Keep-Alive" header
HTTP 1.1 uses keep-alive by default, until "Connection: close" is provided
remove empty /src folder
HTTP module: use unique integer identifier for connections and tasks instead of hex address

some minor changes:
- use %l logging format for abbreviated level, i.e. I for INFO, W for WARN etc...
- remove some spaces