[fix] do version parsing better and raise an error if the recomposed version does does not match the provided one
[fix] ensure input versions are all strings (which will treat nil as an empty string, which is fine)
[evol] added licence information
Initial code