Add support for adding APT preferences
Move volume imports in fs/__init__
Move import statement
Re-raise the catched exception after rollback
Remove unused real_device_path
Unset unlinked_device_path after use
Minor adjustments in pkg code
Remove default argument (info={}) in tasklist.run
Fix check_ordering of succ. (it always succeeded)
Remove load_json fn from manifest
Set volume dev_path to None when detaching
When detaching unset single partition dev_path
add azure provider
Add contribution guidelines

I've added a _Contributing_ section to the README and a [CONTRIBUTING
file](https://github.com/blog/1184-contributing-guidelines). I do not
expected for these changes to be merged right away, as they can be seen
as a draft from what I've observed in the past weeks. The intention here
is not only help the developers that are new to the project, but also
make it easier for Anders to deal with new patches.
Added YAML config support.

- Manifest format parsing is now checked by the file extension ie: .json, .yml or .yaml.
- load_yaml in common/tools is the same as the json version.
- schema checking of manifest still passes (and fails appropriately) like the json manifests.
- I've also included a sample yaml config based off of the debian test json manifest.
Fixed import style.
Added pyyaml to setup.py.
Fixed formatting standards on files I've changed.

Used command `find . -name '*.py' | grep -v minify_json | xargs pep8 --ignore=E101,E221,E241,E501,W191`
Add a note about notification on pull requests
Add a note about rebasing pull requests