Add auto code api doc generation

This will document the python api to:
heat.api
heat.engine (not the resources as we have docs for those)
heat.rpc

(copied from ceilometer)

Change-Id: I5a400f72d4ec115fb700ab8b24dbccf0b5cd3200
Generate docs using new properties Schema class

Change-Id: Ic7849a7aaeeb88379695557f7992330f83638c48
Implement native nova server resource

Some notes on the implementation:
- extends Resource rather than Instance since most of the
  complexity of Instance is in the handling of the Volumes
  attribute
- exposed properties and attributes map as closely as possible
  to the underlying v1 nova API (rather than the nova client library)
- property or attribute key namespaces have been stripped to provide
  a cleaner API and avoid YAML quoting.
  (eg instance_name -> 'OS-EXT-SRV-ATTR:instance_name')
- an assumption is currently made that any volumes specified
  in block_device_mapping should not be detached on suspend
- Network address properties attempt to cater for simple and
  advanced use-cases:
  - 'first_private_address' and 'first_public_address' for simple
    template attribute scenarios, and to aid with AWS::EC2::Instance
    transition
  - 'networks' for a simple data structure which provides all addresses
  - 'addresses' for the raw data structure returned by the API

Implements blueprint native-nova-instance
Change-Id: I4136da22961c8aa90e3fc8a9411457622f1909fb
Merge "Implement native nova server resource"
Merge "Generate docs using new properties Schema class"
Merge "Add auto code api doc generation"