This fixes #136 and #138 in the most practical way.
advanced_image_processing: Changed all max projections being stored so that they keep the same dimensionality as the arrays they came from.
nanshe_learner: Changed all max and mean projections being stored so that they keep the same dimensionality as the arrays they came from.
nanshe/advanced_image_processing.py: Added logging messages for entering and exiting the watershed segmentation portion of wavelet_denoising.
nanshe/advanced_image_processing.py: Split some long lines over several lines.
nanshe_viewer: Created a mechanism that provides an operator for max projection onto a source. Added MaxProjectionConstantSource and MaxProjectionConstantRequest for dealing with determing the max projection of a constant source (will not change or become dirty) along one dimension.
nanshe_viewer: A temporary solution for max projection objects to cache results on initialization.