Update to the latest version of Codemirror

This commit could use some eyes. Plugins have been updated to reflect v2 - v3 related changes. Note that this is an upgrade to v4rc1

Performance seems great as I believe this was a concern upgrading the codebase in the past.

@yhahn @samanpwbb @edenh