Print help text instead of traceback if missing argument
Ensure package name is lower case
Ensure build inputs are lower case too
Re-order 'src' and 'propagatedBuildInputs' attributes

In nixpkgs, having src before propagatedBuildInputs is much more common.
Use dash instead of underscore in attribute names

Nix supports dashes now, and using dashes allows attributes to be the
same as package names.
Use dashes between version components in attrnames

So that build input attributes look like "foo-0-15" instead of
"foo-0.15". Having '.' in attributes is a bit cumbersome in nix (they
must be quoted), and the manual suggests to use dashes everywhere.

(I'm uncertain how useful it is to have versioned attributes in build
inputs.)