Define add-in identity using custom attributes

Defined a Version constant which can be used to declare the version of
an addin. In this way it is not necessary to use a constant value
to declare dependecy versions in all addins.
Declare the add-in identity and dependencies using attributes