Cleanup, wasn't used
Removed weird unnecessary test case
Test used invalid empty attribute value that showed up in other tests, so set to some value. This was discovered by some more aggressive verifying the attribute keys and values
Fixed the source of augmented versions
Over time I added new version sources: The properties, manifest, the package-info.java, and packageinfo. Unfortunately, these files were parsed and read all over the place. So this patch, which is more extensive than I like, is moving the learning of the package versions to one place. All tests pass, but I am curious about the OSGi build.
Extended the ${def} macro to take a value that is used when the given name is not defined. This used to be the empty string. I.e. now you can do ${def;build;hello}.