engine: Add validation to cpu pinning

Validation the following conditions:
- syntax is correct
- all given vcpus exist (e.i vcpu number < max cpu# on vm)
- only one definition for each vcpu
- if defined, a vcpu is pinned to at least one pcpu (e.g 0#1-2,^1,^2 isn't valid)
- in cluster 3.2 verify all pcpu given exists (e.i pcpu number < max thread# on host)
*pcpu is not verified in cluster < 3.2 as we cannot know the nuber for sure.

Change-Id: I690b60fcde6bf337058246ef9b1ee24fa3b7220a
Bug-Url: https://bugzilla.redhat.com/871726
Signed-off-by: Noam Slomianko <nslomian@redhat.com>