Enhance assembly stamping

- support AssemblyInformationalVersion
- allow to use hash code in AssemblyInformationalVersion. This works
  since that is treated as a string by the framework.
- some refactorings
- refactor StampAssemblyTests