Fix version parsing for the following format: major.minor.bugfix.hotfix-buildnumber.

The format mentioned above with a dash separating the build number from the version would not parse correctly since the build number is parsed as a number and thus not seen as a qualifier. This would lead to the version being split into major, minor, bugfix, hotfix-buildnumber which failed to convert to a number.
Now, instead of using the original when no qualifier is found, the version string with the dash replaced with a dot is used.
Extended tests.
Added new test method testing version sorting.

Added new test method testSortUnsorted() which shuffles the sorted list before applying sort() on it.
Before, only one test method existed that sorted the potentially already sorted list.
Merge pull request #2 from fzs/fix-version-sort

Fix version sort
Merge pull request #4 from amandel/master

Empty qualifier is represented by an empty string, to avoid nullpointer ...
Empty qualifier is represented by an empty string, to avoid nullpointer exceptions. (2nd case)