Use type() to create new classes and a factory to instantiate.
removed extra definitions.
Merge branch 'master' into etienne-factories

Conflicts:
	plotly/graph_objs/graph_objs_tools.py
pep8 graph_objs.py, import OBJ_MAP directly
sync graph_reference json files
adapt to new graph ref structure
change INFO[obj] to INFO[obj]['keymeta']
Only copy over specific files into on sync.
Merge pull request #120 from plotly/andrew-update-makefile

Only copy over specific files into on sync.
rm python-specific objs, base trace obj to PlotlyTrace
reordering, override some objs after type() creation
fix update tests to new INFO
add python-only objs in INFO, NAME_TO_KEY, KEY_TO_NAME, mv content
update INFO to new graph ref!
Merge branch 'master' into etienne-factories

Conflicts:
	plotly/graph_objs/__init__.py
	plotly/graph_objs/graph_objs.py
change \n -> \n in .to_string() docstring
sub globals() for dynamically-created NAME_TO_CLASS dict
rm useless json file
sub 2 more globals() for NAME_TO_CLASS
update make sync_refs to new graph_reference/ structure