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
Should we do anything about the pathological case of a revision hash which contains 12 numeric digits?