replace int with size_t in stream methods

Thus the read(...) and write(...) methods of all stream classes now have identical parameter lists.
This will bring these classes one step closer to a common interface.
Fix github-merge with git version 2.1.0

Running git version 2.1.0 on OSX (homebrew), I get
  fatal: '1q': not a non-negative integer

I'm guessing git command-line parsing got more strict recently?
UniValue: use correct setNumStr() input val, when setting number values
UniValue: compact (!pretty) output should not include extra whitespace
UniValue: add unit tests
UniValue tests: use more BOOST_CHECK()
Remove print() from core functions

Break dependency on util.
Move strprintf define to tinyformat.h

This avoids a dependency on util.h if just tinyformat is needed.
Remove all other print() methods

All unused.
Added protobuf-compiler library to the Qt 5 Dependencies
Update build-osx.md

The homebrew instructions were outdated - berkeley-db4 hasn't worked for months, based on the questions I'm seeing on Google/SO.  So I added a section explaining how to install berkeley-db4 using homebrew and move on with your life.  Thanks for the rest of the documentation!
rpc_tests: use BOOST_CHECK_EQUAL

Upon failure, BOOST_CHECK_EQUAL provides additional diagnostic information,
displaying that data that failed to match.
Merge pull request #4730
Merge pull request #4744
Merge pull request #4739

de1f051 Added protobuf-compiler library to the Qt 5 Dependencies (elichai)
Merge pull request #4731

c53b1ec Fix github-merge with git version 2.1.0 (Gavin Andresen)
Merge pull request #4706

8695a39 replace int with size_t in stream methods (Kamil Domanski)
Merge pull request #4735

3802224 Remove all other print() methods (Wladimir J. van der Laan)
9b6d4c5 Move strprintf define to tinyformat.h (Wladimir J. van der Laan)
8121258 Remove print() from core functions (Wladimir J. van der Laan)
Merge pull request #4740

b1ed7c2 Update build-osx.md (Rose Toomey)