TODO:
- Travis Windows environment does not have a D compiler by default so it needs to be installed in the .travis.yml config file
- #include for size_t on Linux
- implementation for various containers on Linux not yet done/finished
- osx impl and build not done at all I think
- implement unordered map, set
- it's not really STL, but boost::optional
- add build badge matrix for linux/windows/osx dmd/ldc/gdc