Pluggable data sources for Metis

Metis now accepts data sources, executors, and their connecting parts (data access operators) from arbitrary locations.

`Transform`s are now `Operator`s and the special `Stream` type has been replaced by the data access operator.

You can look at this, but I still need to fix/run tests. It does work with both Python and Spark executors on some query I made up.

Note: happens to fix #336
+1 convinced :)

On Wed, Dec 17, 2014 at 4:26 PM, Derek Schultz <notifications@github.com>
wrote:
>
> In metis/metis/conf/default_settings.py
> <https://github.com/Locu/chronology/pull/340#discussion-diff-22005569>:
>
> >
> >  # All enabled executors.
> > -EXECUTORS = ['python.PythonExecutor']
> > +EXECUTORS = [
> > +  'metis.core.execute.python.PythonExecutor',
> > +  # 'metis.core.execute.spark.SparkExecutor',
>
> I disagree that an executor that does not ship with the software should be
> enabled by default.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/Locu/chronology/pull/340/files#r22005569>.
>