Added Console Logging to HaaS

This patch adds console logging to HaaS by running ipmitool subprocesses that
log to files.  There is now an API call 'show_console' that displays the
contents of the console log to the user.  Log files are securely deleted when
nodes have a change in ownership.
This vulnerability was only present when calling `Popen(..., shell=True)`.

> Warning: Executing shell commands that incorporate unsanitized input from an untrusted source makes a program vulnerable to shell injection, a serious security flaw which can result in arbitrary command execution. For this reason, the use of <b>shell=True is strongly discouraged in cases where the command string is constructed from external input</b>:
```python
from subprocess import call
filename = input("What file would you like to display?\n")
What file would you like to display?
non_existent; rm -rf / #
call("cat " + filename, shell=True) # Uh-oh. This will end badly...
```
><b>shell=False disables all shell based features, but does not suffer from this vulnerability</b>; see the Note in the Popen constructor documentation for helpful hints in getting shell=False to work.
When using shell=True, pipes.quote() can be used to properly escape whitespace and shell metacharacters in strings that are going to be used to construct shell commands.

.

> Also, can we make the command a bit more specific? I'm concerned about cases where someone e.g. makes a call to power cycle the node and free it at the same time. Let's make sure this only matches the thing we want it to.

I don't understand what you mean.