Fixed absolute path errors.

Folder name rules don't apply to path roots, and it's easier just to
check if the given path is a directory.
Tidied up game creation test fixture.
Improved path error messages.
More test code cleanup.

Also removed Skyrim.esm from Skyrim's fixture-created active plugin
list, as it's not included in the game's own generated list, or those
that libloadorder writes.
Clarified what info libloadorder can infer.
Misc fixes and tidy-up.

* Game handle creation failure now nulls input variable correctly.
* Simplified lo_fix_plugin_lists code slightly.
* Removed most hardcoded instances of "Skyrim.esm".
* Reinstated file extension plugin checks, as libespm can succeed
parsing non-plugin files, it doesn't validate the data it reads.
* Fixed Skyrim.esm, Update.esm not being added to plugins.txt-derived
load orders.
* Some safety checks added for moving plugins around in a load order.
* Don't remove missing plugins from read load order files, that's why
lo_fix_plugin_lists exists.

This should probably have been a few commits, but it's not easy to split
it up now...
Removed unnecessary exists() check.