Ignores Field Filters if not specified.
Returns fields that are given explicit access permission.
Can load configuration file for permissions.
Can handle en empty query.
Applies index specific rules that override _default rules, if present.
Updated Readme
Updated Readme
Removed source under tools. Not needed yet
Can create users.

Users are added to an esa_users index. These will be used for
adding restrictions based on roles.
Removed extra empty lines
Can create users in bulk
Can apply restrictions by roles.

Role based restrictions can be applied in the configuration file. We need to first
declare a list of users with their corresponding roles, and in each query rule we can
declare the roles that are allowed to query that index.

E.g. EsaPermissions.js
var base = {
  indices: {
      _default: {
          access: "allow",
          fields: ["name"],
          source_filters: ["directed_by"],
          roles: ["SINGER", "DRUMMER"]
      }
  }
};

var users = [
    {
        username: "ringo",
        roles: ["DRUMMER"]
    }
]

That file creates a user with "DRUMMER" role, and it can only query the
"_default" index. If no roles are specified for the query restrictions, then
the roles are ignored completely and only the other parameters are applied.

The query sent to the proxy then needs a user field that takes a string.
Covers cases where invalid users are provided in a query.
Added Integration Spec that for querying with user with no permissions.
Did not commit correct files in previous commit.
Added integration test for querying with user roles.
Removed import no longer needed
Added brief description of user based roles to Readme.
Updated readme
An index can have settings based on roles.