Fix for issue #65: Screenshots not saved into missing folders

Create directory structure if needed when saving screetshots (using mkdirp module).

Includes unit test.
Just realized `mkpath` is already a dependency, so using that instead of `mkdirp`.
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
```
Merge branch 'gh-65'

* gh-65:
  Just realized `mkpath` is already a dependency, so using that instead of `mkdirp`.
  Fix for issue #65: Screenshots not saved into missing folders