Return VNC port in show_headnode

There's a little bit of (documented) trickiness, in haas/model.py

This needs to be deployment-tested.
Return port 'None' instead of -1
Document return value for no_dry_run decorator
Use an XML parser to parse XML
Add an api call to power cycle a node.

This involved a handful of changes:

1. Add three columns to the Node class, with ipmi-related info.
2. Add corresponding parameters to Node.__init__ and node_register.
3. Add the api call itself, node_power_cycle.
4. Add the cli wrapper.
5. Update some of the tests due to (2).
Replace 'deploy' with 'apply' in unit tests
dell: Make previous magic explicit instead
Merge pull request #203 from gsilvis/deploy2apply-2

Replace 'deploy' with 'apply' in unit tests
Merge pull request #201 from gsilvis/remove-port

Remove port from vlan correctly
Merge branch 'deployment-tests' of https://github.com/ryabouza/haas into devel
Removed commented out code, consolidated redundant code that was redundant, moved deployment test configurations to configuration file, and added a new network deployment test.
In no_dry_run, return return-value of called function
Make do without check_output in python-2.6
Merge pull request #206 from zenhack/powercycle-proxy

Add an api call to power cycle a node.
Add script to prepopulate vlans
Don't re-create bridges in model.py
Don't require calls to succeed

Now the script works even if the vlans already exist.
Merge pull request #199 from gsilvis/vncport

Return VNC port in show_headnode
Merge pull request #210 from gsilvis/prepopulation

Prepopulation
Merge branch 'devel' of git://github.com/CCI-MOC/haas into devel