Partial Merge of Bitcoin v0.11
This is a partial merge of Bitcoin v0.11. We should merge the work that is done until now and then we'll decide how we proceed with Bitcoin merge depending on available resources. C++11 is not completely supported in v0.11. I found that issue (https://github.com/bitcoin/bitcoin/issues/6211) that has discussions and commits about C++11. AFAIK to have the modern, updated version of the codebase we need to be at least at v0.13.
P.S. Don't spend too much time on this MR, almost all is a merge.