Updates:

- add models for paths and points
- update test
- update app

Split single unit test into separate tests

This separates the test for required fields from the test for array
fields.

Update paths unit tests to test behaviour

This commit:
- adds test to check there is curator string
- adds a test for version to comply to semVer
- adds a test for keywords to be lowercase
- removes tests for instanceof for arrays

Update path model test to test only required fields

This cleans up the model test. Other test are moved to controller and
routes tests.

Add test files for paths router and controller

These are work in progress, mostly just empty unit tests.

Update api/index.js to add a router for paths routes

Add paths routes

Update index.js so that it starts a basic MongoDB connection

Update gruntfile to jshint files deeper in directory structure

Update tests

This makes the tests in line with the API specification:
- PUT requests should return the updated document instead of 'success'
- DELETE requests should return the removed document instead of 'success'
- GET requests of individual paths/points should return individual
  objects, not an array.
- 'places' have been renamed to 'points'

Update 'paths' schema to include validator

The keywords field has an array of string. These strings should be
lowercase, which cannot be required directly on the schema. A separate
validator function is added for this and future validation needs.

Update routes file with implemented routes

The basic routes are implemented in a very basic way. Minimal validation
is added. Error handling needs to be improved.

Add schema and routes for 'points'

The routes are copied from 'paths', the schema is updated to contain the
appropriate points fields.

Update api/index.js to include a router for 'points'
Merge branch 'path_model' of https://github.com/coding-the-humanities/unacademic-API into path_model