Remove the need to count lang items

This solves horrible diffs where all you do is renumber literally everything.
Support impls directly on primitive types.
Add impls for primitive types in libstd

These impls are mostly currently blank, but they will get filled out in the
future with implementations as we remove satellite traits in favor of inherent
methods on primitives.
rustdoc: Render/hyperlink primitive types

This piggybacks on the previous commits to add impls of primitives directly.