Add a ResourceDefinition class

This class provides a comparable, hashable representation of a resource's
definition in a template that is independent of the template format.

Implements: blueprint resource-template-api

Change-Id: I183114596863fbe0c0ff7cd22134b37493ed0dd9
Merge "Add a ResourceDefinition class"