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.
Cleanup pthread code for data layers

Get rid of the ugly "friend" thread function. Simplify the creation of the
thread by inheriting from a base class. Thus, defining the thread is as
simple as overriding a virtual function.
Fix choice MKL directory from Makefile.config
Merge pull request #820 from geenux/dev-fixmake

Fix choice of MKL directory from Makefile.config
[example] standardize imagenet leveldb names
Add NetState message with phase, level, stage; NetStateRule message with
filtering rules for Layers.
Add unit tests and skeleton code for Net/Solver filtering functionality.
Incorporate NetState{,Rule} into Solver/Net.  Net::FilterNet
includes/excludes layers based on whether the NetState meets each
layer's NetStateRule(s).
Use unified train/test nets in examples.
Merge pull request #734 from jeffdonahue/all-in-one-net

All-in-one nets
Merge pull request #710 from geenux/dev

Cleanup pthread code for data layers
fix some namespace with std::signbit
Set correct solver_mode in SolverTest so Travis build doesn't randomly
fail.
Also apply HDF5OutputLayer fix to GPU version.
Merge pull request #823 from jeffdonahue/hdf5output-gpu-fix

Apply HDF5OutputLayer fix to GPU version