Fix bug in TestMinimal

The functions post, put and patch use a mutable argument as default.
This is a common Python pitfall, causing the headers list to grow each
the same function is called.
Cerberus 0.7.2 is now required
Flask returns None allowed methods when 404ing on CORS.

At:
https://github.com/mitsuhiko/flask/blob/master/flask/app.py#L1584

Flask will return an empty list when response is 404. Then, when
rv.allow = HeaderSet([]), Werkzeug will generate a KeyError at
https://github.com/mitsuhiko/werkzeug/blob/master/werkzeug/datastructures.py#L936

which resolves to a `None`value returned to Eve. I'm not sure if this is
intended behavior or a issue within Flask/Werkzeug internals.

This update improves the code a little bit so the returned
Access-Control-Allow-Methods is an empty string and not of a string with
None as a value.

Addresses #381.
Merge pull request #380 from roessland/testminimal-bugfix

Fix bug in TestMinimal
Merge branch 'develop'
v0.4 release date
Rearrange 0.4 changelog for increased readability
'-dev' stripped, v0.4 ready for release
Align README to 0.4 features set
Bump version to 0.5-dev
Fix server crash in case of invalid "where" syntax

Wrap SyntaxError to ParseError in mongo.parser to prevent from sever
crash in case of invalid "where" syntax

Way to reproduce the crash:

    GET /endpoint?where={"field":"value"
Fix python 3
Fix 500 if projection parameter isn't a dict
Fix crash in case of invalid 'where' syntax.
Merge branch 'rs-fix-crash-where-syntax' into develop
Merge branch 'fix-invalid-projection-crash' of github.com:rs/eve into rs-fix-invalid-projection-crash
flake8 fix
Fix crash when client projection is not a dict.
Merge branch 'rs-fix-invalid-projection-crash' into develop