VPNaaS: separate out validation logic for ref impl

Modify the persistence logic for VPNaaS to separate out the
validation for the reference implmentation. This allows
providers to override/extend the validation, as needed.
Additional commits will address the separation for other
providers and for other L3 services.

Only attributes that have multiple validations are considered
at this time, but this can be extended, as needed.

In the future, TaskFlow may be used for the L3 services workflow,
and these changes will provide validation modularization for that
effort.

Change-Id: Id420983ccbceece5f4a00546941618318b9562c7
Partially-implements: plueprint l3-svcs-vendor-validation
VPNaaS Separate  validation for Cisco impl

Moving validation logic from Cisco service driver, into a
validation subclass, so that it'll be applied during the
persistence phase (so validation failures can block the
persistence, instead of setting to error state).

This is part of the effort to separate out L3 validation
and builds upon the reference implementation changes being
reviewed in 102351.

Change-Id: I922d93614017509f118851590b91746de2cec6f0
Partial-Implementation: blueprint l3-svcs-vendor-validation