Add vagrant for development on other OSes

* Add Vagrantfile for specifying box and networking
* Add vagrant-provision.sh for fleshing out the VM
* Add info on vagrant to HACKING
* Add .vagrant to .gitignore
Update the ci docs with the new process and setup
Merge pull request #44 from mitechie/ci-docs-update

This is a pure docs update with the goal of helping other devs be able to walk into the CI system and find their way around. It provides some debugging tips and descriptions of the moving parts.

I've left the older instructions and noted them as bitrotten per the old Hacking docs. Those notes deal with starting up and dealing with a live Juju environment which CI does not use. Those notes might prove useful in bringing that back up at some point in the future.
Tests now run in vagrant; docs updated per reviews.
Added util for rendering viewlets and added service-relation viewlet tests
Added missing dependency in viewlet relations module
Merge pull request #41 from makyo/vagrant

* Add Vagrantfile for specifying box and networking
* Add vagrant-provision.sh for fleshing out the VM
* Add info on vagrant to HACKING
* Add .vagrant to .gitignore
Merge pull request #45 from hatched/viewlet-test-scaffold
Fix the test port and ENV var usage.
Make all the PORT TEST_PORT
Merge pull request #46 from mitechie/one-test-port

Set the test port to 8888 unless overridden by the TEST_PORT variable. 

- Add a doc on using the override (currently only used by CI)
- Fix the issue I introduced using $(PORT) which tosses cli noise.
Create a new factory.js for test utils.

- Move the existing methods over to it and refactor all the things.
- Drive by to sort and cleanup.
- Remove the circular import between utils/factory and update calls to always
pass the fake backend.
Merge pull request #47 from mitechie/factory-time

- Move the existing methods over to it and refactor all the things.
- Drive by to sort and cleanup.
- Remove the circular import between utils/factory and update calls to always
pass the fake backend.

QA
------
It's a very mechanical change. Tests should pass. No tests were added or removed in the making of this pull request.
Add docs for using Floobits and Vim
Add a note suggested in review.
Merge pull request #48 from benji-york/add-floobits-vim-instructions

Add docs for using Floobits and Vim
fix typo
Merge pull request #49 from benji-york/fix-ubuntu-typo
Garden hacking doc
Merge pull request #50 from mitechie/garden-hacking