rewriting [box-protocol.rst]

Add diagrams/rewrite spec. Add snaps/xlog and replication commands overview.
Refactor access check headers.

Make sure the tests pass under low memory and no memory overcommit.
Fix a broken travis build (missing pthread library when linking a test).
Rename user_cache_find to user_by_id().

Rename user_cache_find to user_by_id() to be consistent
with func_by_id(), space_by_id() - API variant which
does not throw exceptions if an object is not found.
Minor code refactoring.

Encapsulate error handling in user cache search functions.