indexes: Indexes metadata field added

- index metadata stores size of index
- method for reading index metadata added to session
- foreign library 'cmp' for low level work with msgpack added
- test for index metadata added
cache: Read behaviour when (offset + read_size > file_size) changed

Now, in case when there are insufficient bytes on read with offset,
read will return data from offset position till the end of file.
This is needed when we try to read first 100 bytes of file and
file is shorted than 100 bytes.
indexes: Fix in get_index_metainfo.

strcpy() replaced with memcpy() to handle null characters in msgpack.
tests: indexes_metadata test now aggregates shards answers

Now get_index_metadata return separate metadata from each shard, then it
should be aggregated to get total metadata for whole index
indexes: Write to log on incorrect metadata msgpack
indexes: docs added for get_index_metadata function
Merge pull request #476 from shaitan/master

Recovery&monitoring
v2.25.4.17
index: More docs for get_index_metadata helper function
tests: Docs for test_index_metadata added
Merge pull request #479 from IIoTeP9HuY/master

Functions for extracting index metadata
client: Introduced merge_indexes method
Merge pull request #481 from euroelessar/merge_indexes

client: Introduced merge_indexes method
client: Added session::recovery_index method
Merge pull request #482 from euroelessar/merge_indexes

client: Added session::recovery_index method
Merge branch 'master' of github.com:reverbrain/elliptics