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.
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
Refactor: Adding a place for reference implementations of plug-ins (xblocks, fields, services, etc.)
djpyfs: Adding a prototype field+service for djpyfs, a filesystem-like storage object
pep8/pylint/NedLint/sanitation cleanup
Merge pull request #228 from edx/pmitros/final-pyfs-refactor

Pyfilesystem support+refactor

* Adds pyfilesystem
* Adds a place for reference implementations of plug-ins
* Starts a discussion about how to plug services
Update pylint to 1.3.0
Reduce pylint violations
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
Add warnings for cases where enforce_type would change behavior
Style fixes for the enforce_type branch