Modify generete_methods to support nested resources

This patch modifies generate_methods to support the resources to
have their parent. You can specify the parent esource as follow:

    @generate_methods(LIST, SHOW, CREATE, UPDATE, DELETE)
    class FooHandlerMixin(object):
        """API handler mixin for Foo"""

    @generate_methods(LIST, SHOW, CREATE, UPDATE, DELETE)
    class FoobarHandlerMixin(object):
        """API handler mixin for Foobar under Foo"""
        PARENT = FooHandlerMixin.ALIAS

Change-Id: If2e5862030369ce8cc90de8e5bc0e5fc83d600e9
Signed-off-by: Taku Fukushima <tfukushima@midokura.com>
Add Tunnel Zone and Tunnel Zone Host API handlers

This patch adds TunnelzoneHandlerMixin and
TunnelzonehostHandlerMixin to the core plugin using
generate_methods decorators.

This patch also adds symbols for 'list', 'show', 'create', 'update'
and 'delete'. It'd be too easy to have typos for them and I added
symbols for them to make it easier to detect typos using the static
checker.

Change-Id: Ia652c5afa0e00a358325b80d6c6dab27152ced56
Signed-off-by: Taku Fukushima <tfukushima@midokura.com>
Add tunnelzone extension

This patch adds tunnelzone extension and unit tests for tunnelzone
extension.

Change-Id: I085977e56928003e0421b1f210386fec8731a493
Signed-off-by: Taku Fukushima <tfukushima@midokura.com>