implemented mwc-src add and list

The mwc-src tool now recognizes the add and list commands. Files are added to
the repository appropriately, and a list of files is available. The code still
relies on boost::filesystem::canonical, which is not really what we want. We
need a custom implementation of a path normalization function that removes
relative ../ components from a path. Otherwise implementing "remove" is going
to be horrible.