cmake dependency refactoring / manage own dependencies / WIP

**This will significantly change the build system**

This is a first step to bring in proper multiplatform support, managed solely from CMake. To enable this, we will manage all library dependencies ourself, instead of relying on package managers like brew or apt-get.

I.e.: instead of installing dependencies via brew, *use CMake in the extdep folder* (see the Readme there)

In the first step, only libraries CryptoPP and Json-RPC-CPP are included; it is a test to see that this workflow will work for everyone. This will also fix #453

The included libraries work fine under Ubuntu and OS X. Windows support is not there yet, however the patches from @debris in this PR are necessary to enable Windows support later (see #469)



What is still missing:
* Most libraries still need to be CMake-ified, so brew/apt-get  is still needed for them. 
* An automatic compile step will be added to provide pre-compiled libraries from buildbot, so that developers won't have to compile libraries themselves
* buildbot will likely complain about this PR, let's see.


> Usually libraries which have 3 version numbers are safe to only match first two. For us, examples of this are boost, Qt, and cryptopp. All 3 of these libraries could release a minor version and for developers it would be better that we allow this. This way, our developers become QA and if one library is a pain, there will be a github issue and then we can pin that library. Considering compiler, operating system, and c++ versions, reproducible builds are impossible.

I can remove the EXACT, as we provide the right library versions anyway. 
Even if 100% reproducible builds are impossible, let's try to get as close as possible.