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.
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.
add gflags dependency to caffe.
add gflags dependency doc
gflags should preferrably be installed before glog
travis
travis - does adding cflags help? want to keep minimal invasion into gflags installation.
turns out that glog does not compile with gflags 2.1 - compiling glog first and then gflags.
I am really bad at debugging travis.
travis: gflags still needs -fPIC, otherwise it makes caffe cry.
Merge pull request #776 from Yangqing/sweep

Gflags dependency & misc
include benchmark.hpp
Adding new caffe binary that does everything in one binary; deprecating device_query, finetune_net, net_speed_benchmark, train_net