Support strict validation of querystring and body.

Fix #233

This commit was squashed and is the result of some conjoint work of Guillaume
Gauvrit and Olivier Roussy from Gandi.

* Fix the test on dropped param in colander schema.

    This test used to test nothing as the body defaulted to {} as the mocked request
    didn't find any way to deserialize (content_type was not set and registry was
    an dict where it should be an object.
    The test just checked that the field was not present.

    Now we check that 'bar' is present (to avoid false test pass).

* Schema validation can now be set to strict check.

    When a colander schema define the unknown == 'ignore' flag, don't validate
    the schema if an unknown field is given.

* Fix python 3 compat: dict_keys in python3 must be cast to list to get 'added'
* Fix jsonp tests for pyramid 1.5 and 1.4
* Declare schema using string too.

    In pyramid most of configuration parameters
    such as view accept object or string.
    Cornice schema now accepts string too.
Support "flattened" post data

The comment for commit 2847c997166693e77bbb6dd016c329fd04b72f60
mentions potential support for flattened post data using colander's
conventions.  This commit:

- Attempts to unflatten the payloads of incoming requests
- Adds a hitherto failing test for "flattened" post data.
Add missing file to the MANIFEST

Tests fail when run from a tarball without this.
Merge pull request #240 from bochecha/master

Add missing file to the MANIFEST
Merge branch 'moz_master'

Conflicts:
	cornice/schemas.py