Upload dependency kinds to the registry

This ensures that the registry understands whether dependencies are build
dependencies or dev dependencies.

Closes rust-lang/crates.io#38
I was actually hoping that this would help with future compatibility in that if an older version of cargo were used with a more recent version of the registry (with a newer kind available) that it would just interpret the dependency as a normal dependency rather than a special one. Not sure how useful that would be though...