match existing python formatting
make python wrapper mean match binaryproto dimensions

ilsvrc_2012_mean.npy has dims K x H x W.

Code written for the old D x D x K mean needs to be rewritten!
add python io getters, mean helper, and image caffeinator/decaffeinator
pycaffe comments, lint
expose input and output blob names to python as lists
set input preprocessing per blob in python
pycaffe Net.forward() helper

Do forward pass by prefilled or packaging input + output blobs and
returning a {output blob name: output list} dict.
bad forward/backward inputs throw exceptions instead of crashing python
python Net.backward() helper and Net.BackwardPrefilled()
python forward() and backward() extract any blobs and diffs
don't squeeze blob arrays for python

Preserve the non-batch dimensions of blob arrays, even for singletons.

The forward() and backward() helpers take lists of ndarrays instead of a
single ndarray per blob, and lists of ndarrays are likewise returned.

Note that for output the blob array could actually be returned as a
single ndarray instead of a list.
batch inputs in python by forward_all() and forward_backward_all()
fix accidental revert of Init() from f5c28581
python style
replace iterator with indices for consistency
resize to input dimensions when formatting in python
take blob args as ndarrays and assign on the python side

Take blob args and give blob returns as single ndarrays instead of lists
of arrays.

Assign the net blobs and diffs as needed on the python side, which
reduces copies and simplifies the C++ side of the wrapper.

Thanks @longjon for the suggestion.
Net.caffeinate() and Net.decaffeinate() format/unformat lists
drop cute names in favor of Net.{pre,de}process() for input formatting

...and refer to inputs as inputs and not images since general vectors
and matrices are perfectly fine.
fix python mean subtraction