adding support for non-GORM principals

This allows Spring Security sub-plugins to provide UserDetails instances for non-GORM classes.

This patch resolves the following JIRA issues:

http://jira.grails.org/browse/GPSPRINGSECURITYCORE-9
http://jira.grails.org/browse/GPSPRINGSECURITYCORE-97
http://jira.grails.org/browse/GPSPRINGSECURITYCORE-109
http://jira.grails.org/browse/GPSPRINGSECURITYCORE-110
http://jira.grails.org/browse/GPSPRINGSECURITYCORE-160