Fix SourceLocation constructor parameter type
Reorder #include in LineAppendedSource.cc

The header file corresponding a *.cc file should be included first to
assure integrity of the header. (Any header should be includable without
requiring any other headers to be included beforehand.)
Rewrite Source member documentation

The documentation comments for private members of the Source class are
moved to the corresponding protected getter methods so that the
documentation appears in the doxygen-generated documentation.
Include headers for classes used in each source file

If a name is explicitly referred to in a source file, its declaring
header should be explicitly included in the file.
Enclose whole test cases in unnamed namespaces

To keep the global namespace clean even in test code, we enclose all
declarations and definitions in unnamed namespaces.
Merge pull request #11 from magicant/fix/misc

Miscellaneous fixes