save from python for net surgery

0. Scheme desired parameters.
1. Do surgery on the net through `net.params['name'][idx].data[...] = `.
2. Save post-operation net params by `net.save('fname')`.

Handwoven deep nets, anyone?
define fully-convolutional imagenet model
release net surgery example from #455
[docs] contact us on webpage
[fix] adding requirements.txt for web_demo. Closes #704
continuous integration of master build

check make

- all
- test
- lint

but not runtest or warn since they are not yet ported to master.
cosmetics: add syntax = proto2
Merge pull request #730 from Yangqing/sweep

cosmetics: add syntax = proto2
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
use /usr instead of /usr/local for default Python include/lib

This makes the default settings usable with Travis/Ubuntu Python
Travis builds pycaffe
Merge pull request #732 from longjon/travis-pycaffe

Have Travis build pycaffe
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