check status more frequently, debug infomation before fail
extract helper method
add get method
support initialize a model with status
support image mangement

* list method will return Image objects
* add wait_for, create, destroy method to Image
* add stop method to Instance
* tests added
destroy timeout: 90s
simplified story cases
switch pek2/pek1/gd1 for free, test passed
add promise/future utility
use future when call service
simplify the usage
future/promise support timeout

refer to: https://github.com/fsword/promising-future
new method has supprt options
use promise/future to make a refactory
setup timeout
use require relative
caller make the decision
reformat
reuse super class method
add snapshot model