fixup ignore_units option of teleport

This was broken in this commit:
18159f0a6b4056ff4609ee4dcc8be4ff0018494f

and caused a gcc warning which was fixed in this commit:
ffbf683eb07ec320cea55f40d2ef5c740b422a34
make the "alternate" clang build use -O0 optimizations

The alternate clang build currently uses strict compilation = false,
this was requested so that we get as many error messages as possible.

We would also like to have an -O0 build run against the unit tests,
as sometimes -O0 will segfault while -O2 won't, etc. So in this
commit the alternate build uses that option also. I also rename
the environment variables, so that the build matrix is based on
casing out whether "alternate_configuration" is true (not strict_
compilation) as previously, and the alternate_configuration flag
leads to options being exported in the before_install phase.
refactor travis script, only call apt-get update once

This moves the gcc 4.8 upgrade step to the "install" phase after
we run apt-get update, so that we only do that once. It can take
15 sec or so apparently to execute that command.
fixup 8bff0848a18a

The gcc build should not use the alternate configuration
use -O0 optimizations on the gcc build, as this is faster

This swaps the optimization levels used by default and alternate
configurations, so that gcc gets -O0, so the compiler will do
less work. gcc does not run the wml unit tests so this should
definitely save time.
fixup travis yml syntax errors (forgot ; fi)
fixup typo in travis yml (EXRTA_FLAGS... -> EXTRA_FLAGS...)
mark destructors of derived classes virtual, in unit_filter.cpp

This apparently produces msvc warnings if we don't do this.
fixup abstract class definition
add a parameter to travis for test timeout, for use with -O0
reenable campaignd and wesnothd compilation for travis gcc build

Switching to -O0 seems to save us maybe 10 minutes (?) so we can
probably afford this now
more time for clang -O0 wml unit tests
more refactor of unit_filter as a function object

It now successfully preconstructs subsidiary filters it uses, and
discards the vcfg it was built from without copying it after
construction.
Merge branch 'master' into game_variables

Conflicts:
	src/unit_filter.cpp