Implement create_backup

Adds function to tell the UniFi controller to prepare a fresh
.unf backup archive that can then be downloaded. The obtained
file can be used to restore a UniFi controller via GUI or at
initial setup.

JSON command obtained via publicly available API shell sample code
for UniFi 2.4.4 (http://www.ubnt.com/downloads/unifi/2.4.4/unifi_sh_api)

Apparently no authentication is required for the file, once it has been
created by the server. Tested with basic urllib.urlretrieve and plain wget.
Merge pull request #3 from matsimon/master

Implement create_backup
Implement get_backup + note on create_backup

Completes previously added create_backup function. You can now
either only create a backup or create and download it.

The naming get_backup() assumes you want a fresh backup, thus always
creates a fresh backup on the controller first.

While create_backup() is making the conversation with the API,
get_backup() completes the process of getting a backup.

A backup obtained with get_backup() was tested to restore a 2.4.5
back on another 2.4.5 controller.

Added a note on create_backup about high load and fix a style error
I introduced previously.
Update the documentation section about use of the backup functions.
OK, let's stick to the other code style, fix the get_backup doc.
Implement v3 support with minimal impact on current use

- Outsource the construction of the URL by introducing self.api_path
  which is built at instanciation of a controller.
- Currently assume v2 to be standard behaviour as it was before.
  Thus there won't be any breakage for current scripts with a v2 controller.
- Update documentation with examples for both v3 use and how to migration from v2.
Update sample scripts for v3 support and their documentation

Now that we support v3, we should update the sample scripts to reflect that.

The documentation shows examples for v3, though v2 usage should remain working,
as long as v2 is the assumed default version.
Merge pull request #4 from matsimon/backup-functions

Complete backup methods
Merge branch 'v3-support' of git://github.com/matsimon/unifi-api into matsimon-v3-support

* 'v3-support' of git://github.com/matsimon/unifi-api:
  Update sample scripts for v3 support and their documentation
  Implement v3 support with minimal impact on current use

Conflicts:
	unifi/controller.py
Merge tag '1.1.0'

1.1.0