Extract validation and provision code to separate method

This enables the blueprint vm-ensembles to make use of the existing
Nova logic for the VM validations prior to scheduling.

Change-Id: I4966742b5f06087ad74ac75cbdf946f0bd9b6431
Merge "Extract validation and provision code to separate method"