system disk placement feature

changes includes:
1. separate datastore into imagestore and diskstore for system/swap disks and data disk respectively
2. changed placement algorithm to use imagestore for system/swap disks
3. refactor DatastoreService, added a --image option to datastore add cmd