Add new_variable_full

Route everything through that.
Add new_variable_enum

This seems to work. Yay.
Whitespace that I don't feel like rebasing

Sigh. Tabs and spaces.
Add some unit tests for enum variables

So we don't break them again.
Remove read-only variable check

Those are impossible now and were impossible before this branch (except
for the old "OWL_VARIABLE_OTHER" thing, which was unused). Yay deleting
code.
Add unit tests for perl-side variables
Change set_fromstring to die on failure

Returning zero/non-zero is awkward. Leave a note for future improvement
to pass the error message along, although the default one is pretty
reasonable already.
Remove pointless return code from owl_variable_add_defaults
Accept validsettings in new_variable_string

If people reeeaaally want to, I suppose they could pass in "<path>" or
something silly. Whatever.