Cast literals that are aliased

When we decide that a type is actually an alias, then we have to cast
the underlying type back to the type we want for the literal value to
be usable.
Add scope to local types for external interfaces

When an interface includes an external interface local types for that
interface need to be scoped when when inherit the methods.
Fix casting in NewXXX methods

When we were creating NewXXX methods that were casting a provided value
we didn't use the correct cast when the base type was a pointer type.
Ignore lib test binary
Start working on better support for non-go code

This handles the case of non-go code where the code is .c or .s files
in the same package that are compiled by the gc compiler tools.

We don't currently respect the //export comments, which breaks cgo
code.

We also try to install extra packages that don't have any Go code in
them at all - which breaks things even more.
Fix error in scenario for issue #17

When the scenario fails it can be hard to spot all the errors.
Change the way that we install packages

The purpose mainly being to try and avoid trying to install packages
that go install will reject due to lack of relevant source files.

We also consolidating functionality into Package again.
Keep any export marks used for cgo

cgo uses special docstrings to mark functions exported for calling
from C code.  We need to preserve these.
Add config file for issue28 scenario

Apparently go-sqlite uses a dot import - which causes a name conflict
between the MOCK and EXPECT functions.  So we need to use a config
file to rename them.
Package shouldn't be assuming testMark

When we create a new Package instance we need to tell it what label we
want to use, rather than have it assume we want to make a label using
testMark.
Get rid of InstallAs

Now that we are using labels correctly with Packages, we don't need to
have the separate InstallAs stuff - which was basically trying to set
the label after the fact in the wrong way.
Pull out needsInstall check

To make the code nicer, pull the needsInstall check code out into
another method.
Issue #17 is fixed now

So, we can remove the .bug file marking the scenario as a bug.

fixes #17
Add a scenario for testing encoding

This has been sitting around for ages, so I forgot why I wrote it :$ -
but I assume that there were issues with mocking encoding packages.
Add scenario for passing mocked stdlib types

Currently we can't pass mocked stdlib types to other packages, as
those packages are not using the mocked version, and the types are
actually different - even though the look the same when the error is
printed (unless the -raw option is used to disable the output
rewriting).
Enhance stdlib test scripts