Slug field and server-side validation.

The branch includes modifications to NgCRUDView and NgFormValidationMixin and some Demo enhancements.

*Slug field*
In some situations, it may be useful to refer to an alternative unique key. For example, URLs could be more descriptive with a 'slug' (e.g. a title or name), as present on other views within Django. When using the ngRoute module, the $route parameters can more easily be transformed into a query by filling this slug field. The 'pk' parameter will still be required on update and delete operations.

*Server-side validation*
Furthermore, the default CRUD behavior from handling errors with exceptions (which result in HTTP 500 responses) has been modified to sending meaningful HTTP 4XX content where possible. This allows for more sensitive handling on the client side, especially when using promises and during save operations. For a consequent treatment of form field errors (e.g. due to a duplicate key), the mixin has been enhanced with an optional server response error. The additional directive is necessary so that server-side errors are reset once the marked field is edited again.
There is no catch-all, since only client-side errors should be reported; the fallback is still a HTTP 500 response.

Tests are provided for the CRUD view changes, including the response error codes. For the validation mixin, there are no tests available yet, but the demo code has been enhanced to illustrate the behavior.