Intial step in converting from scons to Boost.Build

Added jamfiles for afio, NiallsCPP11utilities, and a jamroot for the whole project

NiallsCPP_jamfile.jam is the jamfile (normally named jamfile.jam) that resides in NiallsCPP11Utilities folder. Because it is a submodule, I cannot add this file, so for visability, and project history, I'm including this version. To use it, rename it jamfile.jam, and place it in the NiallsCPP11Utilities folder. Then run b2 from the main boost.afio directory. Note that only the libs compile at this point, and not the unit test executable.

Note that only gcc w/ c++11 is supported at this time.  Furthur work will be needed to improve compatability and supported architectures.

TODO:
1. get unit tests to build with this system
2. add full featured support for different architectures.
Merge remote-tracking branch 'origin' into boost_build_transition

merged changes tto directories, etc from origin, made slight adjustments to ensure compilation

Conflicts:
	boost/afio/SConscript
	libs/afio/src/afio.cpp
	libs/afio/src/async_file_io.cpp
	libs/afio/test/main.cpp
Added jamfile for unit tests

This still doesn't work quite right, but its almost threre for my local system.
Removed unsued directory afio, as it has moved to boost/afio
Try to fix linkage/includes

Try to make any target using afio_lib have access to our same includes

Unsure if this will be important or not.
Tried jamfile.v2 instead of jamfile.jam

Also changed a reference to NiallsCPP11utilities to a namespace boost::afio::detail
Successfully built unit test!

Added linkage to boost libs for the unit test executable

This is the most bare bones execution possible. There are no checks for dynamic or static linking, no compilers supported aside from gcc w/ c++11, no checks for architectures, etc. A ton more work is required for this to meet the standard.

TODO:
1. Fix the way boost is linked to the exe, we probably shouldn't be using link flags for that (eventually we'll just reference the target lib in its jamfile)
2. Add support for other architectures
3. Add relevent compiler flags (I've only done the minimum in debug build)
4. Fix the target names
5. Figure out how to build and run the unit tests with bjam, simmilar to other libs
6. Finish removing external dependencies (should be easier now that boost build works, as we can just provide the targets)
Made changes to jamfiles

Added copyright and licence info simillar to other libraries

Fixed project names
Edited project requirements
Made the unit tests look like their counterparts from other libs (sort of)

Its a small improvement, but at least it looks better.

TODO:
1. support multiple compilers
2. make sure dynamic linking is working properly (I don't think it is at the moment)
3. fix linking,(we can't use link flags for everything, can we?)
4. integrate into travis-ci
5. finish removing dependencies from NiallsCPP11Utilities
Fixed boost/afio/config.hpp

I made boost/afio/config.hpp similar to other libs, particularly Boost.Atomic

I added two defines to scons to account for these changes, and edited a some of the preprocessor section of afio.hpp

This should make the setup similar to other libraries, and also builds with bjam w/ link=shared

compiles under gcc 4.7
Replaced all instances of BOOST_AFIO_API with BOOST_AFIO_DECL to match other libs
Missed a <define> in a jam file

small tweaks for jamfile

Still need to move the jamfiles to build folders
Put the jamfile for afio in a build directory and edited other jam files to match
Updated jam files with some techniques from Boost Sandbox

must provide "--boost=path/to/boost" to bjam for this to work, or define BOOST or BOOST_ROOT environmental variables

Lingering issue with linking to other boost targets, ie boost/lib/filesystem/build//boost_filesystem
This should properly link the executable with the library, but I cannot get this to work with out using the <linkflag>
Fixed boost build for unit tests

There were several issues with the jamfile to used to build and link the unit tests
1. Bad paths -- some of the paths specified did not exist, but no error was given when they werent found
2. use of $(boost) vs $(boost-path) -- boost-path was the correct local variable to designate for the boost path
3. building in debug vs release -- when searching for targets via bjam, boost build differentiates between different compilers, compiler versions,  and different build modes(debug vs release). So where it searches for the target matters a great deal. If BOOST_ROOT lives in /usr/local on a linux system there are no debug builds of the libs to reference, so either write premission is needed(probably a bad idea) or the user should simply use release mode, where the targets already exist in the bin.v2 folder.

Later, many parts of this stratagy will need to be changed.
Jamroot and build-jam removed, references to boost-path replaced with ../../ as neccesary, etc.

TODO:
1. determine if pthread can become a <library> reference, instead of a link flag.
2. update travis.yml to use bjam(will take some time to get right)
3. remove dependencies on NiallsCPP11Utilities (can finish soon)
Improvements to jamfiles

Removed libraries from unit test jamfile, as they should be usage requirements for boost_afio instead

Moved the linker flag "-l pthread" to the afio jamfile

Made some notes for future reference
First attempt to use Boost.Build with Travis-CI

Changed travis.yml -- commented out older tests, and tried to run the build
Made small edits to  jamfile

Will need to institute better test suite(only checks for linking right now and support valgrind, etc
Changed path to  boost folder for bootstrap, hopefully will work
Tried again to install boost build
Another attempt to install Boost Build
still trying to install boost build ...