crud.js
function performCrudAction(action, req, res, next) {
		allow(action, req, res, function(err, isAllowed) {
			if (err) {
				return Model.swr.error.serverError(res);
			}
			if (!isAllowed) {
				return Model.swr.error.forbidden(res);
			}
			switch (action) {
				case options.actions.find:
					find(action, req, res, function(err, result) {
						if (err) {
							return Model.swr.error.serverError(res);
						}
						Model.swr.success(result, res);
						next();
					});
					break;
			}
		});
	}
function performCrudAction(action, req, res, next) {
		allow(action, req, res, function(err, isAllowed) {
			if (err) {
				return Model.swr.error.serverError(res);
			}
			if (!isAllowed) {
				return Model.swr.error.forbidden(res);
			}
			switch (action) {
				case options.actions.find:
					find(action, req, res, function(err, result) {
						if (err) {
							return Model.swr.error.serverError(res);
						}
						Model.swr.success(result, res);
						next();
					});
					break;
			}
		});
	}
each crud method calls this and will perform an allow()
to ensure the request is appropriate, then clean() to ensure
that the data is clean

@author Tim Golen 2015-03-01
@access private

@param  {string} action the CRUD actions being done
@param  {object} req an Express or Restify Request object
@param  {object} res an Express or Restify Response object
@param  {Function} next

@return {void}