Convert to a compiler plugin lint.

This is fully cargo-usable.

Closes #3.