Fixes issue #186: test case tagging

You can now tag a test case by adding the `tags` property to a test module.

```
module.exports = {
  tags: ['login', 'sanity'],
  'demo login test': function (client) {
    // test code
  }
};
```

Select tags to run by specifying the `--tag` flag (`-a` for short):

```
bin/nightwatch --tag login --tag something_else
```
Fix jsdoc error due to undeclared variable
Fixed test runner failure
fixed some small linting issues
merge from sethmcl-gh-186
refactored the runner and matcher to included other matchers
Merge branch 'sethmcl-gh-186'

* sethmcl-gh-186:
  refactored the runner and matcher to included other matchers
  fixed some small linting issues
  Fixed test runner failure
  Fix jsdoc error due to undeclared variable
  Fixes issue #186: test case tagging
Merge branch 'master' of github.com:beatfactor/nightwatch

* 'master' of github.com:beatfactor/nightwatch:
  updated api docs with links to the selenium docs
  Added tests for alert_text protocol API
  Add alert_text selenium API