Primarily meant to integrate multiple access control modules to work together.

Specific submodules are there to provide full integration for og_access with
content_access.

Implements with hook_node_access_records_alter() and hook_node_grants_alter()
by calculating replacement node_access entries in this way:

Module A's node_access entries: (a1, a2, a3, ...)
Module B's node access entries: (b1, b2, b3, ...)
Module C's node_access entries: (c1, c2, c3, ...)
...

access calculated as:
(a1 | a2 | a3 | ...) & (b1 | b2 | b3 | ...) & (c1 | c2 | c3 | ...) & ...

converted with the distributive property to:
(a1 & b1 & c1 & ...) | (a2 & b1 & c1 & ...) | (a3 & b1 & c1 & ...) | ...

where each term in ( ... ) becomes an entry into the node_access table

The issues with this type of approach:
  1) This may greatly increase the number of entries in the node_access table
  2) This increases the 'in code' calculation time for node_access entry
  writing and lookup.
  3) This involves hacking the gid's together by either greatly limiting
  their range for each module, using a hack to encode them in the 'realm'
  property, or using a custom gid with it's own look-up database table.
  In this implementation the first access module (alphabetically) that
  has node_access records for the node will use the 'gid' property,
  and all others will encode their gid in the 'realm' property.

This is a generalization of the method described in:
http://drupal.org/node/1355272 and used in:
http://drupal.org/sandbox/babbage/1891566

Implementation Specific Quirks:
- does not try to handle priority, other than to propagate them by max()
- assumes that modules which have no grants for a node doesn't care about
  access for that node
- uses the gid entry of the first access module, and encodes the gid for
  others in the realm by appending to the realm with '-<gid>'
- creates custom realms by concatenating them with the '|' character

An alternative method would be to:
  1) Allow all node access modules to write to the node_access table as-is.
  2) Use hook_query_TAG_alter() ( hook_query_node_access_alter() ) to add the
  adjusted logic to the database query on lookup.