Uses requirement parser to normalize package name.

Then the version will be striped and the name will be "safe" still. And more,
the package names with extra requirements (e.g. "foo[bar]") could be parsed
correctly now.