Enhance decorators in agent and automate creation of command_map

sync_command and async_command in ironic_python_agent/extensions/base.py
are implemented so that they change decorated method signature,
which is really bad practice. Example:

@sync_command
def orig_method(self, **kw):
...

sync_command decorator returns lambda which has one additional
argument 'command_name'

def sync_command(func):
    def decorated(self, command_name, **kw):
         ...
         func(self, **kw)
         ...
    return decorated

Additional parameter 'command_name' is moved from decorated function to
decorator signature in both decorators. Every call of decorated functions
is fixed, BaseAgentExtension.execute is updated to not send this extra
argument. BaseAgentExtension.__init__ automatically generates command_map
from decorated methods.

Change-Id: Iff0f495bc8d9c731892feb0f4759a7f10ee76328
Closes-Bug: 1314148
Add docstrings for agent.py

Does what it says.

Partial-Bug: 1367915

Change-Id: If2617f30c75c4a844c20a60afa41330daf84053a
Merge "Enhance decorators in agent and automate creation of command_map"
Remove PyPy from default tox runlist

PyPy has been failing locally for a month or two. On Ubuntu 14.04: 
"No module named _bsddb", on 12.04: "Not a .py file: 
/data/dev/work/ironic-python-agent/.tox/pypy/build/setuptools/
setuptools/cli-32.exe"

PyPy isn't enabled as a job in the gate yet (even non-voting). Until 
we sort the gate out and fix the above errors, we should remove it 
from the default tox runlist.

Change-Id: I34c0a72edebc296b79c6058e64ffb98f60979bcb
Add support to build iso image

This script adds support to build iso image from the given
kernel and ramdisk

Change-Id: I15dd8b8663af15b4194299986792ad8e6487508b
Implements: blueprint ilo-virtualmedia-ipa
Preserve environment variables when doing sudo

This commit adds the '-E' option for all the sudo commands
in build script of agent which causes it to preserve environment
variables.

Change-Id: Ic3fbc4ee8189cc82ef99359bf61eef33dae40a5a
Closes-Bug: 1371418
Merge "Add docstrings for agent.py"
Merge "Preserve environment variables when doing sudo"
Merge "Add support to build iso image"
Add docstrings for api/ tree

Does what it says.

Partial-Bug 1367915

Change-Id: Id1a718d652f6d98e6acb1d667f42d9c3cc82aef5
Delete unused method get_agent_mac_address()

Does what it says.

Change-Id: I01e20e3a1e7317c17da6fc04ee0b0a672cf8247b
Merge "Add docstrings for api/ tree"
Merge "Delete unused method get_agent_mac_address()"