Improve json_handler decorator

It will now sanely respond with a 405 error if the method is not POST or
a 400 error if the input is invalid. A wrapped function can now indicate
by raising a certain exception that a status code other than 200 or 500
should be returned.
Fix typo in exception text
Merge pull request #213 from IONISx/fix-exception-typo

Fix typo in exception text
Correctly count the number of pylint violations
Fix pylint errors; dummy var regex
report total pylint violations regardless
Merge pull request #216 from singingwolfboy/db/fix-pylint-script

Correctly count the number of pylint violations
Merge pull request #211 from edx/gprice/improve-json-handler

Improve json_handler decorator
Relax open_local_resource rules.

An XBlock developer couldn't figure out why his static files weren't
serving.  At the very least, dots in the filename should be ok.
Merge pull request #217 from edx/ned/relax-resource-url-rules

Relax open_local_resource rules.
Add ability for runtime to store arbitrary options/metadata
Merge pull request #223 from edx/christina/deprecated

Add deprecated attribute to Field
Adds support for passing JSON parameters to initialize XBlock
Merge pull request #224 from edx/xblock/args

Adds support for passing JSON parameters to initialize XBlock
Enforce type of the Fields when set

Add a enforce_type method and call it on __set__ to make sure that
the stored value type is consistent.

enforce_type is aliased to from_json for the most basic types
Update tests to test Fields setting in addition to loading
Run enforce_type on the supplied field default
Make enforce_type an optional flag, to avoid conflicts