Add timeout on prepare call per datastore

Reasons:
 - each datastore requires its own timeout due to amount of
   time that needed for packages to be installed and time
   that needed for start scripts.

Changes:
 - timeout option per datastore proposed.

Change-Id: I111e4d9384668ed341dab2d27f7795979dc2ceba
Implements: blueprint timeout-per-datastore
Merge "Add timeout on prepare call per datastore"