catkin_make* should allow for `MAKEFLAGS`

Currently `caktin_make*` programs always give job  arguments to `make`, even if none are passed to them directly, e.g. `catkin_make` -> `make -j8 -l8` and `catkin_make -j1` -> `make -j1 -l1`.

This prevents the Make environment variable `MAKEFLAGS` from working with `catkin_make*`. I propose a new logic for handling `-j`, `--jobs`, `-l`, `--load-average` arguments:

![catkin_make_jobs](https://f.cloud.github.com/assets/100427/311426/13b6a926-9740-11e2-9c62-be97216f48d6.png)

This will allow users to override the make job options with direct arguments to `catkin_make*`, `MAKEFLAGS`, or `ROS_PARALLEL_JOBS`.

*EDIT:* Removed references to `CATKIN_PARALLEL_JOBS` because it is overshadowed by `MAKEFLAGS` and direct arguments, and I did not want it to have the same weird specification as `ROS_PARALLEL_JOBS` where it has flags for make not just a number.