Update open-ended tests to load the module between 'requests'

Under normal operation, XModules are reloaded on each request from a
student. CombinedOpenEnded modules have code that runs at initialization
that validates the students state. These changes makes that code run
during several long-form unit tests (testing CombinedOpenEnded across
multiple 'requests').

These tests are marked as expectedFailure because they now exhibit the
same failures as observed in [LMS-1493] (namely, the students state gets
reset, because CombinedOpenEnded interprets system.ajax_url raising an
error as meaning that the problem definition and the student answers are
in conflict)
Move xmodule_runtime.xmodule_instance registration earlier

This allows XModules (specifically CombinedOpenEnded) to use ajax_url
during their init functions (which would, before, have thrown an
exception).

[LMS-1493]
Clean up test files, no substantive changes.

These changes prepare for the changes to the tests that are coming, but
make no change to the behavior themselves.
Add two tests of problems-with-files

One test passes already, the other fails.  Fix in next commit.
Properly convert files from Webob to pure files.

Webob represents uploaded files as cgi.FieldStorage objects.  The
XModule code expects pure Python file objects.  Each FieldStorage object
is wrapped to present the proper file interface, with file names.

LMS-1492