Allow request timeout to be specified.

Add a new cli argument (--timeout) which
is by default 600 seconds which will be
set in the requests library so that timeouts
can occur correctly.

Change-Id: I716ac15fe08f42c9464ee43010bc8fd2667bcbde
Allow for image selection using the metadata properties.

Instead of forcing users to remember a image name and/or uuid
instead allow them to specify a image metadata property to 'key'
off of.

For example:

I want to boot a image of ubuntu. This could now be a property
set in the image metadata and the following could be used to
find said image.

$ nova boot my-vm --image-with type=ubuntu

Now that user does not need to care what ubuntu version is being
selected or what the uuid is or what the image name is, they just
know that some image with ubuntu will likely get selected.

Change-Id: Ifaf71e282b8411d2e303cb52fd2623f6cf0bf32a
make print_dict split strings with newlines into multiple rows

When printing a dict e.g. "nova show" one of the properties
is "fault". When the user is admin, "details" of the fault
is shown, which includes a backtrace. This causes the
printing of the table to be unreadable as the backtrace
overflows the table row. This patch adds a separate row
for each substring after splitting on newlines.

Change-Id: I4c1bc8725a2bb6970be2c884c5e044d9eade8302
Merge "Allow request timeout to be specified."
Merge "Allow for image selection using the metadata properties."
Merge "make print_dict split strings with newlines into multiple rows"