Additional features / robustness for orocos_use_package and orocos_find_package

* `orocos_[use,find]_package()` can now be run with the following arguments:
  * `OROCOS_ONLY`: Only look for `pkgname-$OROCOS_TARGET` when running pkg-config.
  * `REQUIRED`: Raise a fatal error if the package is not found.
  * `VERBOSE`: Raise a warning if the package is not found

* `OROCOS_USE_*` variables do not need to be put in the cache. Since these are declared in macros and not functions, they will already be available in the parent scope. Furthermore, if they are put in the cache, they can grow dramatically in certain contexts.

* `STATUS` arguments have been added to all status outputs for consistency

*  `${PACKAGE}_${OROCOS_TARGET}_USED` is only set if the package is actually used. Now, if it is not found, it is not used. This is also no longer cached, which prevented re-building when the contents of a dep's pkg-config file changed.

* Catkin dependencies aren't parsed if they aren't found