Add support for bang paths

Hiya Rob,

This patch adds support for bang paths. We are moving to a unexpanded jar which uses war style bang paths (jar:file:/path/to/file.war!/WEB-INF/classes/) with the Bathe Plugin and Bathe Booter. 

The XmlConfigLoader has been changed to load using getResources() which means no class path scanning is needed, but the ClassPathSearch has increased in complexity. I have included tests for all changes.

Hopefully its ok...