Implement logging for function execution

This works fine, but it's very noisy:

LOG:  [AUDIT],2014-04-27 15:53:44.432253+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,pg_catalog.int4pl,
LOG:  [AUDIT],2014-04-27 15:53:47.492695+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,pg_catalog.pg_event_trigger_dropped_objects,
LOG:  [AUDIT],2014-04-27 15:53:47.492989+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,pg_catalog.pg_event_trigger_get_creation_commands,
LOG:  [AUDIT],2014-04-27 15:56:25.607905+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,pg_catalog.int4out,
LOG:  [AUDIT],2014-04-27 15:56:25.607955+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,pg_catalog.textin,
LOG:  [AUDIT],2014-04-27 15:56:25.607975+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,pg_catalog.textcat,
LOG:  [AUDIT],2014-04-27 16:00:42.319639+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,public.foobar,
LOG:  [AUDIT],2014-04-27 16:00:42.319992+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,pg_catalog.textcat,
LOG:  [AUDIT],2014-04-27 16:00:42.32003+05:30,ams,ams,UNKNOWN,EXECUTE,FUNCTION,pg_catalog.int4pl,

It's not really usable without some filtering for, at the very least,
pg_event_trigger_*. Perhaps even all pg_catalog functions. (But then
should we allow that same filtering for other events?)
Merge branch 'function-execution'

Conflicts:
	README.md
	pgaudit.c
Enable logging of non-catalog function execution
Rearrange cases in the object_access_hook
Should we filter out pg_catalog relation accesses? Not for now.