Added a failing test for set changes in DDBv2.
Altering how state tracking of ``Item`` data works in DDBv2.
update cacerts from mozilla.org

Used mk-ca-bundle.pl locally to generate a recent cacerts.txt file that
fixes https certificate validation for OSX 10.8x. These certs were built
with:

$ perl mk-ca-bundle.pl -w 64 boto/cacerts/cacerts.txt

fixes boto/boto#1535
closes jtriley/StarCluster#267
-w flag never actually checked s3 for a file's existence. Always refused to upload.
added non-zero exit statuses for unsuccessful runs

Previously, the program always exited 0 unless it crashed.  This covered many of the failure scenarios like "permission denied" and "The specified bucket does not exist", but didn't cover anything that would provoke usage() to be called ("-h" notwithstanding)

This adds an arbitrarily ascending list of non-zero exit codes to all the cases of "usage" and also the exit() called for unaviliable multi-part upload.  usage() not defaults to exit status 1, since -h has been covered and most other uses of usage() would be for error conditions
Fixed the sending of empty data to DDB as well.
Merge branch 'jtriley-update-cacerts' into develop

Closes # 1578.

* jtriley-update-cacerts:
  update cacerts from mozilla.org
Fix slow tests to not actually sleep

These two tests were causing the unit tests to
take 2min40secs to run.  The fix is to patch time.sleep
because we don't actually actually need to sleep during
the tests.

I also updated the tests to be more idiomatic including:

* Don't need to define setUp() if you're just calling super()
* Prefer assertRaises(), this gives better failure messages
  and is easier to read.
Merge branch 'fix-slow-tests' into develop

* fix-slow-tests:
  Fix slow tests to not actually sleep
Replace JSONDecodeError with ValueError

simplejson has JSONDecodeError, but json doesn't.
Catch both JSONDecodeError and ValueError and add a unit test to confirm that both are caught and the expected service exception gets raised.
Copy deviceIndex into the device_index property

Prior to this patch the device_index of an attachment was always shown
as zero.

Addresses issue #1631
Actually, we really only do need to catch ValueError. James pointed out that JSONDecodeError inherits from ValueError. Tests continue to pass.
Use assertRaises instead of try/except blocks for unit tests
Modify attachment device index to be an integer as stated in the service docs. Add unit test to make sure deviceIndex is passed to network interface attachments and to make sure it gets properly cast to an integer.
PEP8 fixes for example response
Merge remote-tracking branch 'taylordt/device-index' into develop
Merge remote-tracking branch 'taylordt/json-vs-simplejson' into develop
Changed needs_save to be more concise.
Merge branch 'ddb-set-fix' into develop