Adds a functional named-path implementatio (C++11)

This commit introduces the concept of a "named path". Further, it begins
my new philosophy of using C++ where necessary, while maintaining an
externally linkable API with C via extern "C".