run a headless mp test game as part of the travis clang builds
give an error message when we crash from bad command line args

This only fixes one case but when you are trying to set up a
headless multiplayer game it is pretty annoying when it crashes
with no explanation because of a bad controller string.
filters hold safe vconfig, const vconfigs can call make safe
give better error messages when we can't parse command line args
also run ai test with gui on
cleanup travis yml file (don't need [[, ]])
travis.yml: put time outside of multiline if
add line breaks between the sections in .travis.yml
fixup minor travis after_failure logic
remove the play_test with gui from travis script, it doesn't work
fix as_arrays for variable_access_const

previously the code
config c;
variable_access_const("a[1]", c).as_array();
would give an segfault.
now we return a range containing one empty element.
fix assertion error on lua exceptions,

lua uses c++ exceptions of type const lua_longjmp * internaly for lua
exceptions.
fix config comparison

the previous implementation would result in ["a"] == "1" beeing false if
'c["a"] = "1";' happened previously.