upgrade dependencies of castle_gates
remove gate defaults from method - unused

Also this adds a lot of complexity as we have to hand over the holder.
allow for association holders in associations modul
use holder.all_codes to aggregate default access

If there are no keys present we need to calculate the default access.

So far this was based on associated holders stored in the definition.
This allowed for customizing the default access by overwriting a method etc.

However it's fundamentally different from how we get access via keys. We already
know the set of all key_holders that might be used to get access to a castle.
So we can check if they have access by default.
test for missing piece in castle gates puzzle

Once there is a key we do not use any default access anymore.
This is okay for the holder of the key itself. However it should not
apply to other association holders that do not have a key stored yet...

In order to make this understandable... here's an example:

* user has explicit access to castle via a key that does not include :tunnel
* user is part of a group that by default has :tunnel access to the castle.

Since the user has some key only that key will be checked and we won't progress
to check the defaults of other key holders the user could use.
remove the @associated collection in HolderDefinition
fix the test for the missing piece
apply defaults for associations where no key exists

So far we only applied the defaults if no key was found.
Turns out there might be a key but we still want defaults from a different
holder to apply... for example:

* a user allows all of their friends to view them by default
* the user grants access to friend them to public -> a new key is created
  for public
* a friend of that user wants to view the user. The public key is found
  now so far we would check that key for view access and if there is none
  reject. But we still want the defaults to apply.
fix task list test to use autocomplete well
new test for finding castles with their defaults
castle_gates: set defaults with initial keys

The default_open option did not work with finders and it would be very hard
to get it working.

So instead we create key records for the defaults now.
castle_gates: remove unused code for defaults
create default keys when creating castles
groups are visible by default. test migration for hidden groups
fix page creation test

users need to be visible to show up in autocomplete.
But you can still pester other users. So in order to test that
we may not rely on autocomplete entirely.

Also elements will loose focus as soon as they have been filled by
capybara. That way the autocomplete will not show up. So we need
to make sure they stay focussed.
make sure request queue is fifo

Also wait for pending autocomplete requests before we end the test
fix ajax pending for drivers without network_traffic
small changes to make test more relyable

* fixtures :all for integration tests:
  we use transactional fixtures. So this will only make tests faster
  It also makes the fixture methods like users(:blue) available.

* wait for ajax and response whenever we add recipients
  so far we only did this for non autocomplete queries
  but the autocomplete ones also might leave behind requests

* dump html to separate file when a test fails
  this way it's easy to open the page in a browser

* ignore jpg requests
  they are dealt with by the asset pipeline just line png.
  so no need to wait for them as they do not access the db.
fix page integration test issues
Merge pull request #72 from azul/bugfix/castle_gates_defaults

Bugfix/castle gates defaults