Overhaul linter to support multiple lint rules

Fixes #18.