Make vcxproj item sorting deterministic

Changes:
* Insures _key is called recursively over containers
* Introduces sort-by-type
* Prevents feeding iters to xsorted
* Updates vcxproj files with new sorting

This change significantly alters the ordering of the vcxproj files. To insure that the file is still the same regardless of operating system, run `scons vcxproj` on [this branch](https://github.com/evhub/rippled/tree/develop-sort) and compare the newly generated file to the one already there, which is the new one generated by this commit. The full diff of changes in the vcxproj files caused by this commit can be found [here](https://github.com/evhub/rippled/commit/6e28764ace5b2527abc69853ebbc2b54f95cdaf5).