Make resource fn a macro to improve debugability.

When you build up a map of routes -> resources it is helpful to have the
resource handler fn named in a way that helps finding the source.

the defresource macro eventually makes a call to liberator.core/resource
which returns an anonymous handler function, but defined in the
liberator.core namespace.

However, If we make define the anonymou function as part of defresource
then the anonymous function is defined in the callers namespace, this
makes tracking down "I'm somehow routing to the wrong handler" bugs much
easier to debug, because the anonymous function name in stacktraces
changes from something like:

#<core$resource$fn__15560 liberator.core$resource$fn__15560@4d8afb22>

to

#<project$project$fn__41618 kixi.hecuba.api.project$project$fn__41618@2068bdce>