This PR is (hopefully) a starting point for the small number of changes required to allow Bitcoin Core to compile with Microsoft’s C/C++ compiler.
Some of the changes can definitely be improved upon. In particular ssize_t has been defined multiple times as I’m not familiar enough with the design to know the best location.
The changes may also break the non-msvc build, although that risk is reduced by using pre-compiler directives where possible. Travis will provide the initial answer to that question.