pycaffe: blobs and params are properties, not methods
Rename pycaffe.cpp -> _caffe.cpp in preparation for python wrapper

This commit should not break any code which does not refer explicitly to
caffe.pycaffe.
Add a pass-through Python wrapper of _caffe.CaffeNet

This commit restores caffe.pycaffe as Python code that wraps
caffe._caffe. It also renames caffe.CaffeNet as the less-redundant
caffe.Net.
Use an OrderedDict for caffe.Net.blobs
Update detector.py to use the new Net/blobs interface
Update imagenet/wrapper.py to use the new Net interface
Expose layers and remove now-redundant params in Python interface

For now, only layer names and blobs are accessible, but more
functionality (layer Forward and Backward) could be added later.
Expose caffe.Net.params as an OrderedDict
Add names to the blobs returned by CaffeLayer

Even though these are redundant, this keeps the meaning of
CaffeBlob.name consistent for now, and will allow CaffeBlob construction
to be simplified.
Remove spurious constructors from CaffeBlob and CaffeBlobWrap

This prevents accidental construction of partially-specified blobs,
which could break the Python layer.
Add extra comment on vector_indexing_suite to _caffe.cpp
Fix indentation in C++ Python module
Move semicolon to appease lint
Merge pull request #199 from longjon/pycaffe-ordereddict

Update Python interface, using OrderedDict for blobs and layers to expose activations, params, and diffs.