Add line numbers to cmake parser
Add unit tests for cmake parser
Refactor main program

The catkin_lint script becomes a simple invoker script.

The lint checks will be moved to their own catkin_lint.checks
subpackage. The new CMakeLinter class takes care of parsing
and limited CMake emulation.

This change has been suggested by @tkruse (#1)
CMake lint checks

These checks verify that the project name matches the package name,
certain special variables are not tampered with, and certain commands
are not invoked more than once.
Package description lint check

Checks the package description for generic (and ultimately meaningless)
boilerplate.
Add continuous integration
Bleeding edge notification
Replace depecreated has_key() function with key in dict idiom
Update gitignore

[skip ci]
Update setup.py

New classifiers and signal (intended) Python3 compliance

[skip ci]
Add build status to README
Update copyright header
Reword a few messages for better clarity
Fix indentation and syntax errors
Downgrade unsupported commands to notice level
Add support for find_path and find_library
Remove unused imports
Add build checks
Add package dependency checks
Rename add_all_checks()

In the future, we might want to include or exclude particular
checks by name on the command line.

catkin_lint.checks.everything is more user-friendly for that.