API user list, create, and edit actions

1. separate ApiUser class allows us to configure
   cancan abilities better.
2. re-using suspension actions, just redirecting
   back to the correct edit page.
3. added the table name to Doorkeeper::Application
   default_scope otherwise there's an abiguous name
   column during a table join.
4. hiding "Has access?" column in the permissions
   grid on api user's edit page, in favor of the
   Tokens table and assigning 'signin' permission
   by default whenever token is generated for an
   application.
5. templates by Paul H.
Manage API user access tokens

1. using zeroclipboard library for 'Copy to clipboard'
   button for access tokens.
2. fixed n+1 issues in UserPermissionsControllerMethods
   by performing some grouping operations in Ruby.
Integration test for managing API users
Feedback on PR

1. removed inline styles.
2. added a generated at timestamp to tokens table.
Event log entries for API user events
Merge pull request #248 from alphagov/ui-for-api-users

UI to manage API users