reapply namespace change
add Net::Forward/Backward From/To
pycaffe: expose Forward/Backward From/To as kwargs start and end
comment in net.hpp to explain subtleties of From/To on DAGs
test consistency of From/To Forward/Backward
pycaffe: allow unspecified mean. Fixes #671.
pycaffe: reorder exceptions

It doesn't make sense to complain about input not being batch-sized if
it isn't even 4-d in the first place.
pycaffe: test channel_order and input_scale against None

An input_scale of zero should produce warnings/errors/infinities rather
than being the same as an input_scale of one. A channel_order of () or 0
should not be equivalent to the default ordering.
Extend the ArgMaxLayer to output top k results
Add the test cases for the mulitple top predictions argmax layer
Simplify the top-k argmax layer using std::sort
Use std::partial_sort in the ArgMaxLayer as suggested by @shuokay
Move compararing function from common_layers to argmax_layer
Refactor the accuracy layer with std::partial_sort
Add more test cases for the accuracy layer
Limit the comparison functions to have file scope
Include <utility> for pair in the accuracy layer
Fix style issues in accuracy & argmax layer
use Blob directly instead of shared_ptr for ConvolutionLayer::bias_multiplier_

This will make layer reshaping easier and more uniform, and is
consistent with col_buffer_.
use Blob directly instead of shared_ptr for InnerProductLayer::bias_multiplier_