Initial commit of magical API function creator.
Modules simple have to define a [modulename]_fns that returns an array of API functions.
Currently the API functions list, show, create, update and delete are supported.
The array can also contain sub functions, such as [function]_[subfunction].
Simple example:

def case_fns
  [:list, :list_notes]
end

will allow you to call Desk.list_cases(case_id) and Desk.list_case_notes(case_id)
Aliases are also created so Desk.cases(case_id) and Desk.case_notes(case_id) also works.