cntl.c: Add common macros for definitions

This makes the file smaller and easier to read by cutting out the
boilerplate prototype

These changes somewhat deviate from the normal style in the rest of our
code, however since this file is mainly repetitive, it's best to keep
the boilerplate to a minimum so that we can easily add to this file and
analyze it later on -- paying more attention to those handlers which
actually do something special, rather than simple getters/settings/basic
error handling.

Change-Id: Ifd78a93d7dab95a4d30c12e987ab20be7d2f3221
Reviewed-on: http://review.couchbase.org/39390
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>