cache: implement audit caches

* Add caching for audit logs (direct and via history). Note! Since
  we cache all audit logs for a given object, we need to invalidate them.
  Fortunately, all the auditing work is done in one place (in
  EntitySqlDaoWrapperInvocationHandler).
* Fix ehcache.xml files to enable statistics for all caches (the
  inheritance doesn't seem to work)
* Simplify the registration code for new caches, see instructions at
  https://github.com/killbill/killbill/wiki/How-to-create-a-new-cache
* Fix bug where cacheloaders were registered multiple times, causing
  some tests to fail
* Make sure to clear the caches in tests

Signed-off-by: Pierre-Alexandre Meyer <pierre@ning.com>
Merge branch 'master' of github.com:killbill/killbill