Move files into a format suitable for distributing on PyPI; Allow for multiple devices; Add support for downloading documents from iCloud

Hey there @picklepete -- I came across your project just a little while ago while investigating how I might integrate some iCloud functionality into a web app of my own, and couldn't help but notice that the package wasn't currently distributed on PyPI.  This PR will move the files in this repo around into an arrangement usable by `setuptools` for packaging and distribution.

Upon merging in these changes, you can upload this package to PyPI so users may easily install the package by running:

```
python setup.py sdist register
```

to register your package on PyPI, then

```
python setup.py sdist upload
```

to upload the current version of your package to PyPI.

After rearranging the project into a packable format, I also added a couple features and fixed a really tiny bug:

1) Changed the login process to not attempt to gather the `clientBuildNumber`; the endpoint you were attempting to reach no longer exists, and some of the other implementations I glanced at didn't find the `clientBuildNumber` to be necessary.
2) Added support for multiple devices. You can now access any device associated with your account using the `devices` attribute; that said, I've left in the `iphone` property (directing it to gather the first device) for backwards compatibility.
3) Added support for downloading files from iCloud's backup/syncing service (borrowing much from @matin's implementation).
    
Let me know if you have any questions, would like me to break this up into smaller PRs, or are at all confused by any of the above.

Thanks for your code!