Updated tester, Mongoman, players, player, and account

@DuaneGarber Take away's:
* Mongoman now accepts middleware and functions. (see account model for examples)
* added mocha test to grunt and removed makefile
  * to test, simply run `grunt test`
  * options include `--stack` to print the stack trace, and `--drop` to drop the DB before running
* `grunt dropdb` will now drop the localhost database tables
* created a tester.js file to help simplify tests (see file for example)
  * this handles request defaults, seed generation and general asserts (like getting a 400)
* pushed update, read, and destroy to `/players/:playerID`
* changed `/players` to be a search keying off query values as search terms 
  *no query params will return the 10 most recent players 
* added error utilities `Err.notFound()` (404), `Err.noAuth` (401)

my reasoning behind moving the CRUD functionality form players to player:
the way I see it, the plural (base) CRUD route should only handle **bulk** changes. setting the team of a  handful of players for example. editing individuals should be done on the player specific CRUD route. creation of a new individual should be done on the plural route

eg:
* `/afewthings` 
 * Create - create a new singular
 * Read - search and return a set of singulars
 * Update - update a set of singulars
 * Destroy - destroy a set of singulars

* `/afewthings/:onething`
 * Read - return this thing in detail
 * Update - update this thing
 * Destroy - destroy this thing
 

at least this way we can reduce validation. Since the id is required. Also, we can simply return 404 if no such instance of that object exists 
eg:

```javascript
  update : function (req, res, next) {
      var inputs = req.body;
      Player.findOneAndUpdate({
        _id : req.params.playerId
      }, inputs, function (error, player) {
        if (player) {
         // DO SOMEHTING
        } else {
          return next(Err('No player matches the provided ID', null, 404));
        }
      })
    },
```

vs


```javascript
    update : function (req, res, next) {
      var inputs = req.body;
      validate(inputs, {
          id: Joi.string().token().required(),
          update : Joi.object().min(0).required()
        },
        function update(result, callback) {
          Player.findOneAndUpdate({
              _id : inputs.id
            }, 
            inputs.update, //fields to Update
            function (error, player){
              if ( player ) {
                // DO SOMETHING
              } else {
                res.data = { 
                    success : false, 
                    message : 'No player matched the id: ' + inputs.id
                };
                return callback();
              }
            }
          );
        }, next);
    },

```