Fix docstrings. Closes #93
Fix project file update on package changes.

 * Fix object permissions for ProjectFile. Though those are not perfect
   because Collection.add, Collection.remove etc. is still (and was already)
   possible. So in future use read_only_view to only allow read only access
   (for plugins) to some collections.
 * Use TreeMap<string, PackageInfo> instead of TreeMultiMap for packages map.
   No hints in source code found why a multimap is necessary. It does not make
   sense because package names are distinct. Multiple same packages with
   different versions won't work anyway (name clashes).
 * Project.add_package_by_name now returns null if package was already added
   to project.
Valama: Set buildsystem after loading
Fix build system file display.
Gettext.cmake: Use parent directory as default working dir.
Disable stylechecker.
UiReport: Support sorting of columns.
CMake: gsettings_install: Fix LOCAL option. Closes #94

 * Fix "improvement" of ed53979a.
Valama: guess_pkg_by_define: Don't display error on false try.
UiReport: Fix synchronized sorting.
Almost full support for plain build system.

 * Defining (and lookup) of const strings (e.g. PACKAGE_NAME, etc.) is not
   implemented yet. The lookup is perhaps a Guanako feature.

 * NOTE: Plain build system does not cache anything at all so it's not
         recommended for anything than very small projects.
ProjectBuilder: Fix exit code.
Continue restructuring project management related files.

 * project.vala | project_file    | package_managment | buildsystem/base
    ------------|-------------------------------------|-----------
                |                 | package_exists   <|------
                |                 | package_flags    <|------
         -------|-----------------|>VersionRelation   |
         -------|>VLP_VERSION_MIN |                   |
         -------|>LoadingError    |                   |
Add some ProjectFile tests.

 * ProjectFile tests:
    - get_absolute_path
    - get_relative_path
    - Loading different project file versions.
 * Note: Those tests require the test program to be executed directly from
         tests/ directory.

 * ProjectFile constructor now throws LoadingError on failure.

 * CMake:
    - copy_dirs: Recursively copy directory content.
    - get_files_recursively: Recursively list all file content in specified
                             directory
Synchronize valaparser from 6747b2f7.
Add one missing project file test to cover all relevant branches.
Fix tests if guanako is not already installed.
UiReport: Fix source code jump.

 * Fix regression introduced by 2c1ff3b. Get rid of duplicate data structure
   (list of errors) and store Reporter.Error directly in ListStore (which
   requires the Reporter.Error to be an GObject).
UiSourceViewer: Workaround if error bounds out of (visible) range.

 * Thanks to Florian Brosch. Code is copied from a vala editor draft.
Support sorting in symbol browser.