Allow params to be passed to ViewRegistry::createView

Now we call initialize on the created view instead of setModel, which
emphasizes the fact that it’s only called once and allows arbitrary
properties to be passed through during creation.
Log a deprecation warning when models still implement .getViewClass
:lipstick:
Rename ViewRegistry to ViewFactory

The new ViewRegistry will be focused only on storing model::view
associations, leaving the global factory to focus on creating them.
Deprecate atom.views.getView and store view registry on WorkspaceElement

This separates the role of the ViewFactory from the ViewRegistry.
The ViewFactory creates *new* views. The ViewRegistry maintains a
persistent 1:1 mapping from models to views, and is owned by the
workspace rather than being a global service. If someone wants to 
*create* a view, they use atom.views.createView. If someone wants to
get the workspace’s view element for a given model, they call .getView
on the workspace.