Fix app initialization with resource level versioning

When using resource level versioning, the initial iteration to register
each resource would raise a RuntimeError because of versioned resources
being inserted into DOMAIN at the same time it's being iterated. A
snapshot of DOMAIN is used for iteration to fix this.

Also, new versioned resources are passed through _add_resource_url_rules
to fix some tests needing them to be in config['URLS'].

This doesn't add tests for this specific case but adds a new
`versioned_invoices` resource to eve.tests.test_settings with
versioning enabled in the resource level.