snuffler: can now specify stream selectors in raw slinktool format

If there is an underscore in the selector part of the seedlink url,
all stream selectors are passed to slinktool's -S option as they are.
No info query is done in this case.
gf store: added C implementation of Store.sum()
store_ext.c: improved error handling
moment_tensor: magnitude and moment args for random_dc()
misfit setups: changed guts-type of domain to StringChoice
seismosizer engine: cache discretized source models
Store.t(): allow source/targets as input arguments
guts: allow for tuple with arbitrary length
seismosizer: added double-DC source model
seismosizer: added clone() and __getitem__ methods to Source
seismosizer: make get_engine() reuse global engine
added guts' preliminary Dict class
seismosizer: improved Range and SourceGrid classes
yaml/guts: use 'pf' namespace everywhere
crust2x2: use new-style classes
gf: fixed vicinity function
guts: fixed a problem with storing bool values as attributes
pchain: added clear() method
trace: simplified misfit method (interface changed)
gf stores: avoid use of memmap for traces data in python version