Change behaviour of $n regex substitutions

$1 is now the first match rather than $0.  This it consistent with
htaccess files, awk, perl and others who use this notation.  $0 now
matches the whole path.
Refactor test.sh to make it easier to add new tests
Add test which tests basic functionality
Refactor exception handling
Retrieve introspection information from filesystem by default

http-dbus-bridge needs to know what arguments any method it calls has.
It can query the object with a DBus Introspect call to find this
information.  This requires a round-trip across DBus to accomplish.

This commit changes the behaviour such that it will first look on the
filesystem for a file named interface-XXX.xml where XXX is the name of
the interface to be called.  This will provide us with greater
flexibility in the future as extra annotations can be added to this
introspection xml.  As a side effect it lessens the massive security
hole as only known interfaces will now be able to be called.

To return to the old behaviour pass the option `--allow-introspection`.
Fix JSON encoding of dbus.Boolean

dbus.Boolean extends int, not bool as bool cannot be extended.  This
mean that by default `True` is encoded as `1` and `False` as `0`.
This commit fixes this such that it is properly encoded as `true` and
`false`.
Add tests for retrieving properties
Refactor in preparation for adding full support for Properties
Add builtin support for Exposing an object's properties over HTTP

The previous method of adding the GetAll, Get and Set methods to the
configuration file, although elegant, was not using the right types
when calling `Set` as Set takes a DBus Variant and you need to look
in the introspection XML to work out what the real type should be.

This is still not perfect as we only support simple DBus types.
More work will be required to support compound types.  The addition
of the explicit HTTP-DBus path mapping file will also be useful for
implementing transforming DBus Object Path types when converting to/
from JSON, although this work is not yet done.