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.
make "all" the default target

"all" is the right default since it builds the library itself.
define "everything" after it.
Merge pull request #813 from sergeyk/dev

Fix for bug in HDF5 Output Layer
[docs] fix missing glog install cd
[docs] install glog first given incompatibility
[docs] compile gflags with -fPIC for linking
add h/w kernel size, stride, and pad for non-square filtering

while keeping everything working as-is.
im2col + convolve non-square filters, padding, and stride
test rectangular im2col
fix GPU indexing

Thanks to @ejaz-izy's debugging in
https://github.com/BVLC/caffe/pull/505#issuecomment-50287608
test non-square filters by separable convolution of Sobel operator

Compute the G_x kernel of the Sobel operator as a full filter and as
separable filters to check the rectangular filter output.
Merge pull request #505 from shelhamer/non-square-filters

Non-square Filters and Separated Stride and Padding
Fix choice MKL directory from Makefile.config
Merge pull request #820 from geenux/dev-fixmake

Fix choice of MKL directory from Makefile.config