Started to implement Google Test unit tests.

Added a project for the tests to the CMake config, and added Google Test
as a dependency for it. Travis runs the tests. Some tests currently fail.
Removed debug message from GetLocalAppDataPath()

It couldn't be turned off, so was basically console spam.
Fixed minor version changes being incompatible.

If they are, it's because I've screwed up.
Fixed incorrect linker flags for LOOT.exe.
Switched back to using Boost.Regex.

GCC 4.6 doesn't implement C++11 <regex>.
Fixed false successes for db creation.

* If not on Windows, a local data path must be supplied.
* The supplied paths must be valid directories.
* Added general exception catching.
Fixed libloadorder init/error handling.
Added more tests.

New tests are for loot_load_lists, loot_eval_lists and
loot_update_masterlist.
Fixed git_error not having an API error code.
Fixed bad permissions on LOOT .git folders.

They were being fixed when LOOT needed to delete them, but left with too
restrictive permissions otherwise. Now the permissions are write access
for all on successful operations too.
Fixed API loot_load_lists bugs.

The userlist path was being ignored, and the masterlist loaded again as
the userlist. The function now errors if either of the given paths does
not exist.
Fixed loot_eval_lists allowing invalid languages.
Fixed crash at end of masterlist update.

Was due to trying to get the repo path from a closed repo handle.
Added test for loot_sort_plugins.
Fixed missing parameter in Doxygen comment.
[Doxygen] Truncate paths and create shorter PDFs.
Merge branch 'unit-tests' into v0.7-alpha

Conflicts:
	.travis.yml