adds specificaion for available custom properties

A few things are unclear to me and I would welcome feedback very much:
* Do we really want to have different types for custom properties? The custom properties are quite different in their properties, so it makes sense to differentiate between them rather than to have a lot of empty properties and a "format" property to differentiate.
* Is is desirable to have the possibleValues in the links section of UserCustomProperties and VersionCustomProperties.
* Do we want to keep the pattern of masking CustomFields in favor of lightweight CustomProperties? It is nice to have for the WorkPackage resource but I see problems once one wants to query for an individual custom property. The question there is of course whether that is intended at all. But once e.g. project management is also exposed to the api the client will need to know the work package types the custom field is active on and whether it serves as a filter. So I guess that we will forfeit the possibility of masking much of the internal custom field workings.