Update DesiredCapacity if AutoScalingGroup.desired_capacity is not None

Proposed fix for boto/boto#1757.

Also includes some updated assertions related to instance types.  Many of them were `self.assertTrue(type(<instance>), <class>)`, which would always pass regardless of type since `bool(type(<instance>)` will always evaluate to `True`.  Meanwhile, the second argument to `assertTrue()` is the failure message.  Instead, `self.assertIsInstance()` is used to compare type identity and return a meaningful failure.