Improved directory_entry docs.

Fixed bug in directory_entry where int_fetch() wasn't updating internal fetched metadata correctly.

Renamed directory_entry full_lstat() to fetch_lstat() for consistency.

Fixed bug in close() where it was closing fast enumeration directory handles.
Merge branch 'master' into rewrite_dir_monitoring
Added the rest of the preliminary design. Updated one of the unit tests to work with the new code.
Moved files to appropriate folders, and fixed many compiler errors

Stil haveing trouble with gettign the asio timer to accept a duration.
Got dir_monitoring compiling and linking :)

Now for unit testing to determine what runtime isses exist, and to fix some of the terrible hacks I made to see what was wrong, ie, return private members and data
Fixed public/private/friend, and added alot of debugging statements...
Lets put try catches and couts everywhere to find the issues...
Improvements to unit tests and monitoring.
Still tracking down issues with the dir monitor...

This doesn't work currently, but I don't want to loose my progress

There is some strange behavior in Path::monitor though