cleanup uri_name instance on resource removal
fix factories to use the login/display_name for uri_name#name
add credited_name to allowed attributes
add pending spec for uri_name model
use schema_plus for functional indexes in the schema
spec uri_name lowercase index duplicate key insert behaviour
Revert "use schema_plus for functional indexes in the schema"

This reverts commit c75b9d3d3b97fd07425e86ad7acd362243c7057f.

Use before validation callbacks to lowercase all the unique fields and use rails uniqueness validation with normal indexes.
add unique index to user_groups display_name field
ensure uniqueness of names between user_groups, users and uri_names

downcase all unique fields before validation to ensure use of indexes whilst maintaining case-insensitive uniqueness
spec uri_name behaviour and remove cyclical uri_name factory creation
spec uri_name autosave association option
add consistency validation between resource#uniq_name and uri_name#name
do not automatically build the uri_name on the resource save

Make the uri_name association setup explicit as the User and UserGroup models are inherently coupled to the uri_name model. The coupling is not ideal but there is no other way to ensure uniq names between users and groups without the uri_name model in the system. Care should be taken when setting up the resource models.
Error resonse accepts content negotiation
Add content negotiation for root page
Fix specs
Add additional tests for the error handler