Show useful error info for MAAS errors. Also some cleanup.

- some varabile renaming for clarity
- sorts units so they don't bounce around in dictionary (arb) order
- shows error for maas machines that can't be found, whose juju units will be forever stuck in pending
- uses charm class to get constraint info to give helpful info instead of 409 error

here's what it looks like:

![screenshot-error-ui](https://cloud.githubusercontent.com/assets/1768106/3896482/af276162-2258-11e4-8849-ae836981fefb.png)