Merge remote-tracking branch 'origin' into remove_external_dependencies

My first attempt to merge into another branch

This should merge the changes to master made earlier today to remove_external_dependencies.

Hopefully this all works, thought I'm fairly certain that there will be some conflicts, due to directory restructure.
Conflicts:
	boost/afio/SConscript
	libs/afio/src/afio.cpp
	libs/afio/src/async_file_io.cpp
	libs/afio/test/main.cpp
Fixed conflicts with merge changes

Additional changes will be needed to ensure that dependencies are actually being removed.

This builds with GCC 4.7
Merge branch 'boost_build_transition' into remove_external_dependencies

Conflicts:
	boost/afio/SConscript
	libs/afio/src/afio.cpp
	libs/afio/test/main.cpp
Removed dependencies on NiallsCPP11Utilities from afio

Some dependencies may remain

Dependencies used by the unit tests must be removed
Unused code in detail files must be removed

TODO:
1. Remove dependencies from unit tests
2. Remove excess code from details folder (only keep what we need right now)
3. Rename files
4. Rename macros
5. Boostify the details folder
Missed some headerfiles for valgrind in afio.cpp
First atempt to move aligned_allocator dependecy to details folder
Forgot to add Aligned_Allocator.hpp
Removed dependency on NiallsCPP11Utilities

The dependency on the external project has been completed, but many facilities in the details folder still need to be renamed or removed.

NiallsCPP11Utilities.hpp needs to be pared down to its most basic essentials, which at this point will likely be some macros, and any dependencies for Int128_256.cpp

TODO:
1. Identify and remove unused code from NiallsCPP11Utilites
2. Change macros and namespaces to their boost counterparts
3. Rename files that are used, and remove files that are not (I don't think we use everything in the boost/afio/detail/hashes folder)
4. Edit config.hpp to make some check for proper includes (determine what the proper conditions are to use our std_filesystem.hpp)
Significantly cut NiallsCPP11Utilities.hpp

Trying to completely remove NiallsCPP11Utilities.hpp

Int128_256 has some hold up with removing it and switching to Aligned_allocator.hpp. It likely has to do with the STL overrides, but my preliminary attempts to replace those references with boost::afio::detail counterparts met with failure. This is very close to running, so I'd like to fix this, and then see if we can further strip Int128_256 by relying on its SHA256 c implementation.
Completely removed NiallsCPP11Utilities.hpp

No code in Int128_256 relies on anything from NiallsCPP11Utilities anymore. The submodules, and NiallsCPP11Utilites.hpp can now be removed(as long as this passes on travis). Some clean up is required in the remaining files, fixing macros, making naming conventions congruent to boost policy, etc.

TODO:
1. Remove extra files and sub-modules
2. Rename/relocate files as needed
3. Determine if Int128_256 can be replaced by its SHA256 c implementation and update as necessary
4. Update the travis.yml to account for all the changes, and implement Nialls suggestions
First pass at updating macros to use Boost style macros

Initial phase of macro replacement
Tried to remove NiallsCPP11Utilities submodule and its hpp file from details
Removed CATCH from the project

Forgot that CATCH still lived in libs/afio/test
Removed jamfile for NiallsCPP11Utilites, and updated travis.yml to account for removed submodules
Updates/corrections to travis.yml

1. use release version of Boost 1.54 (we may be able to forget using any binaries at all)
2. moved location where boost will be BOOST_ROOT=/home/travis/boost
3. updated build orders to reflect new boost location

TODO:
1. symlink in AFIO into the new boost location
2. enable install
3. fix directives to build AFIO or to ingnore it
Fixed wrong file name
Fixed typo in BOOST path declaration
Fixed wrong shell command
Fixed a bad path in travis.yml
Try to symlink afio into boost-trunk and look at if afio is recognized by bootstrap