- Fix to scope search that was failing since recent change for consts
- Fix expresionless switch with non int cases
- Compiler and driver now don't have source annotations,
saves memory in normal usages and you can always install annotated versions
if you need to debug the compiler

The code to handle -o added two arguments to the final array.
However, longopt allows "-o file" to also be passed as
"--output=file". This causes one argument to cause two to be added.
This means that we can't have the destination array be the same size
as the original.
I've decided to use the most pessimistic case for allocation, one
where every argument causes two to be added (parrot --output=file1
--output=file2 etc). Alternative solutions include passing it as
"-o=file" instead and having prt0 handle breaking it apart, but this
is the fastest way to fix the memory overrun.

We weren't getting a lot of ROI out of testing ccache vs. non-ccache
builds, i.e. I have never seen a ccache/non-ccache build pair have
different behaviors.
Much better to test a "plain" parrot compile for each compiler, which
means we turn off every possible Configure.pl flag. This tends to catch
test failures where tests have not been properly skipped if Parrot was
not compiled with the feature turned on.
This has the added benefit of using fewer resources on Travis CI and
running faster.

Our test suite (smolder_fulltest) is now passing on Travis CI [0] .
Every commit is being tested with clang, gcc and g++ in a disposable
Ubuntu VM container.
We really need "make allhlltest", but that is so long that it would
timeout with their current settings.
Next step is Rakudo on Travis.
[0] http://travis-ci.org/#!/parrot/parrot/builds/659732