Fixed crash when a zero-length load order is set.
Added Google Test-based tests.

They're of varying levels of completeness, all at least as thorough as
the previous tester script. There are a few cases where the API should
fail but it doesn't, so the test suite fails overall.
Missed a few API functions entirely.
lo_fix_plugin_lists is now more thorough.

Also writes changes to disk.
Existing invalid load orders now return warnings.

Same for active plugin lists. Still need to write tests for this (I'm
getting that all backwards...).
Updated lo_fix_plugin_lists doc comment.
Refactored testing code.

Directory structure mirrors that of the library code.
Tightened up expected test results.

Also fixed a few bad tests causing failures.
Added validity checks for input paths.
Improved plugin validity checks.

Setting a game master file now checks that it exists and is valid, and
validity checks now try to parse the plugin header, rather than just
checking the filename extension.