package: add command to download public packages

Allows a user to download all public packages to a file.

Example:
```
cole@norway:.../src/github.com/coreos/updateservicectl $ ./bin/updateservicectl --server=https://public.update.core-os.net package download --dir packages
2014/08/21 18:34:28 Downloading 20 packages.
1.94 GB / 1.94 GB [==============================================================================================================================] 100.00 %
cole@norway:.../src/github.com/coreos/updateservicectl $ ls packages
e96281a6-d1af-4bde-9a0a-97b76e56dc57_324.5.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_367.1.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_324.5.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_367.1.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_343.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_379.2.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_343.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_379.2.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_348.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_379.3.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_348.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_379.3.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_349.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_385.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_349.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_385.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_353.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_386.1.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_353.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_386.1.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_359.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_394.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_359.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_394.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_360.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_399.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_360.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_399.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_361.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_402.2.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_361.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_402.2.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_366.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_408.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_366.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_408.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_367.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_410.0.0_info.json
e96281a6-d1af-4bde-9a0a-97b76e56dc57_367.0.0_update.gz
e96281a6-d1af-4bde-9a0a-97b76e56dc57_410.0.0_update.gz
```
defer() at top of `if`