store child unit filters in a vector not a ptr_vector

this is possible now because unit filters were made copyable
in an earlier commit, I think when they were added to animations
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.
extend test_config unit test