Added a predicate that can correctly match the type of an application or entity spec.

This fixes issue BROOKLYN-89. The new predicate correctly handles the symbolic-name:version format of the type. The method BrooklynCatalog.loadClassByType(String, Class) is called either with either the symbolic-name or the symbolic-name:version format. It will detect the format it is passed and use the appropriate predicate.
This closes #338

* github/pr/338:
  Added a predicate that can correctly match the type of an application or entity spec.