Alberich basic functionality

This pull request includes the majority of functionality expected to
be included in the initial alberich release. For now, parity with
what's included in conductor is the only goal. Additional refactoring
and improvements can be added over time. Another note is that the
current view code is extremely rudimentary. It's functional, but
that's about it. Any application which uses alberich for permissions
will be customizing/rewriting the view code anyway, so it's not a huge
priority right now. When we integrate this into conductor, the
alberich controllers will probably need some additional refactoring to
make it easier to override them with conductor-specific functionality
(pagination, filter/query views, i18n, etc.)

There are a few things needed for initial release that aren't totally
done yet:
1) Example permissioned object types are needed in the test/dummy app
   both to serve as examples and to allow rspec tests to be written
   that test object-level and inherited permissions.
2) Gem packaging hasn't been handled yet.
3) Documentation is needed.
4) File-level license blurbs need to be cleaned up. Code that came
   from Conductor still has the Apache license text, and other files
   have no license text. This will all be moving to the MIT license.