Clean up image build script

This change allows the image build script to support the existing
jobs that build images for distribution, as well as future jobs that
build the image within devstack for testing.

Change-Id: I6cae0ce336fde872678fafe6ba2b31af465944a1
Add vmedia boot support in IPA

This commit adds support for booting IPA from virtual
media cdrom.  When IPA is booted over virtual media cdrom,
the parameters to the IPA are passed in a text file within
the virtual media floppy.

Change-Id: Ia04585416aada85022af73fb2b945bd3895606f0
Closes-Bug: #1358723
Merge "Add vmedia boot support in IPA"
Fix incorrect documentation

Two changes, first is that we now upload individual files instead of a
tarball of both. The other is a catch from Jim to properly use building.

Change-Id: Icfaccb190d066feee5f30aed83c1b830fbe9cd89
Co-Authored-By: Jim Rollenhagen <jim@jimrollenhagen.com>
Fix minor documentation issues

I updated the URL to point to the correct path to the uploaded IPA
ramdisk, as well as adding a note about running IPA inside Virtual
Media.

Change-Id: Ib4f3da5ea9fd0172e9d4ff018fd5a2890ddb978b
Add missing "/files" to IPA image URLs

Corrects a 404 error when visiting these URLs.

Change-Id: I701186c0845f86ac0326efa148c3846ad0440786
Fix exception that is not properly raised

This commit fixes an exception that was not properly raised, and
also makes the exception more relevant.

This also fixes an outstanding bug where, if the agent
was not associated with a node, get_node_uuid() would fail in an
unexpected manner.

Change-Id: Ifca474a73dd50b5fd2242e5b7e938a5db04f27a8
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
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