#### Important ####

Add an option for svd thresholding in DMD.  when the svd singular values are
ill-conditioned, then the resulting computation results can be invalid.  for
instance the mode norms may come out negative...(when computed using
coefficients rather than the modes themselves).


Generalize the parallelization so that users can have parallel Vector classes.
That is, modred would work in units of larger groups of processors/nodes, 
MPI communicators, and the lower level user-implemented parts would operate
within one of these communicators. The user-defined Vector class could then
have its memory distributed amongst multiple nodes within one communicator.
This would completely eliminate any size restrictions on the data and make
modred amazingly useful for huge datasets. It wouldn't be that hard either,
one needs to generalize the node/processor current paradigm to communicators, and 
mpi4py already has the hard stuff implemented. 

#### Less important ####

Fix the util.make_list function.  It should be more flexible for iterable 
containers.  Right now, if a numpy array is passed in, 
it returns a single element list with the array as the element.  
Instead, it should do something like list(my_array), which will return a 
list with as many elements as the array.

Make the formatting at line breaks better, do not break at '.'s. Talk to Clancy
about possible solutions to our many line breaks.
Find a better, more natural, way to deal with line continuation/breaks. As it is,
the code is chopped to bits and is not at all readable. No one would ever write
code like this, and that's why we always have to go back and redo the formatting.
It's completely imposed and unnatural currently.

Make a style guide for future developers. In this, include:
vec_num and similar should be called vec_index. This is because the "number" of
a mode
is generally different than its index. The most common example of this is the
first mode is called mode number 1 but has index 0 (indexFrom=1). 
To be clear, I
differentiate between a mode number and mode index. To be consistent with all
naming conventions, index should be used instead of num when referring to some
object's "index" internally and starting from 0. 

Write tests directly for lin_combine in vectorspace, not just
_compute_modes.

Rename/move _compute_modes. As it is, it doesn't make sense to be in
vectorspace.

Automatically detect the max_vecs_per_node. Or in the future, max_vecs_per_communicator.
This would require some fancier
things, like determining the available RAM and the size of a vector object. It
might not be possible since some memory is used by the vector objects when
doing inner products, etc. We could leave a safety factor though, and maybe
leave space for 1-2 vecs/modes for scratch space for the user's functions. 

