Fix logic errors around opening an existing filesystem
Revise design
Initial conversion to C++. Build fails in GCC
Fixes to cpp
Reactivate travis
Change compile flag to support GCC 4.6
Initial port to OSX
Split out Buffer into its own file
Use an exception for handling memory errors
Implement building path iteration
Fix OSX-compatible build on Linux
Use cmake-defined platform macros instead of cpp macro detection.

Allows cppcheck to run without whining.
Re-add travis.  Gr
Loosen cmake requirement
Add path_get_basename, remove return code from path_join
Add basename tests
Initial work on new filename spec
Merge branch 'master' into coverity_scan

Conflicts:
	.travis.yml