Merge https://github.com/BVLC/caffe into dev

Conflicts:
	docs/installation.md
Merge branch 'dev' of https://github.com/BVLC/caffe into dev

Conflicts:
	docs/installation.md

	modified:   .gitignore
	modified:   Makefile
	modified:   README.md
	modified:   docs/_layouts/default.html
	modified:   docs/development.md
	modified:   docs/imagenet_training.md
	modified:   docs/index.md
	modified:   docs/installation.md
	renamed:    examples/selective_search_demo.ipynb -> examples/detection.ipynb
	modified:   examples/filter_visualization.ipynb
	modified:   examples/imagenet/alexnet_deploy.prototxt
	modified:   examples/imagenet/alexnet_train.prototxt
	modified:   examples/imagenet/alexnet_val.prototxt
	modified:   examples/imagenet/create_imagenet.sh
	modified:   examples/imagenet/get_caffe_alexnet_model.sh
	modified:   examples/imagenet/get_caffe_reference_imagenet_model.sh
	new file:   examples/imagenet_classification.ipynb
	deleted:    examples/imagenet_pretrained.ipynb
	modified:   examples/images/cat.jpg
	new file:   examples/mnist/lenet_consolidated_solver.prototxt
	new file:   examples/mnist/train_lenet_consolidated.sh
	modified:   include/caffe/common.hpp
	new file:   include/caffe/data_layers.hpp
	new file:   include/caffe/loss_layers.hpp
	modified:   include/caffe/net.hpp
	new file:   include/caffe/neuron_layers.hpp
	modified:   include/caffe/solver.hpp
	modified:   include/caffe/util/math_functions.hpp
	modified:   include/caffe/vision_layers.hpp
	modified:   python/caffe/__init__.py
	modified:   python/caffe/_caffe.cpp
	new file:   python/caffe/classifier.py
	deleted:    python/caffe/detection/__init__.py
	deleted:    python/caffe/detection/detector.py
	new file:   python/caffe/detector.py
	renamed:    python/caffe/drawnet.py -> python/caffe/draw.py
	deleted:    python/caffe/imagenet/__init__.py
	modified:   python/caffe/imagenet/ilsvrc_2012_mean.npy
	deleted:    python/caffe/imagenet/wrapper.py
	renamed:    python/caffe/convert.py -> python/caffe/io.py
	modified:   python/caffe/pycaffe.py
new file:   python/classify.py
	new file:   python/detect.py
	new file:   python/draw_net.py
	modified:   src/caffe/blob.cpp
	modified:   src/caffe/common.cpp
	modified:   src/caffe/layer_factory.cpp
	new file:   src/caffe/layers/accuracy_layer.cpp
	new file:   src/caffe/layers/argmax_layer.cpp
	modified:   src/caffe/layers/concat_layer.cpp
	modified:   src/caffe/layers/dropout_layer.cpp
	new file:   src/caffe/layers/eltwise_layer.cpp
	new file:   src/caffe/layers/eltwise_layer.cu
	deleted:    src/caffe/layers/eltwise_product_layer.cpp
	deleted:    src/caffe/layers/eltwise_product_layer.cu
	new file:   src/caffe/layers/euclidean_loss_layer.cpp
	new file:   src/caffe/layers/hinge_loss_layer.cpp
	new file:   src/caffe/layers/infogain_loss_layer.cpp
	modified:   src/caffe/layers/loss_layer.cpp
	modified:   src/caffe/layers/lrn_layer.cpp
	new file:   src/caffe/layers/multinomial_logistic_loss_layer.cpp
	modified:   src/caffe/layers/pooling_layer.cpp
	modified:   src/caffe/layers/pooling_layer.cu
	modified:   src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp
	new file:   src/caffe/layers/threshold_layer.cpp
	new file:   src/caffe/layers/threshold_layer.cu
	modified:   src/caffe/net.cpp
	modified:   src/caffe/proto/caffe.proto
	modified:   src/caffe/solver.cpp
	new file:   src/caffe/test/test_argmax_layer.cpp
	new file:   src/caffe/test/test_eltwise_layer.cpp
	deleted:    src/caffe/test/test_eltwise_product_layer.cpp
	modified:   src/caffe/test/test_image_data_layer.cpp
	new file:   src/caffe/test/test_maxpool_dropout_layers.cpp
	modified:   src/caffe/test/test_pooling_layer.cpp
	new file:   src/caffe/test/test_threshold_layer.cpp
	modified:   src/caffe/util/io.cpp
	modified:   src/caffe/util/math_functions.cpp
	modified:   src/caffe/util/math_functions.cu
	modified:   tools/convert_imageset.cpp
	modified:   tools/upgrade_net_proto_text.cpp
Extended matcaffe, splited init in init_net and load_modl, also to get layers and blobs info
Convert int to mxCreateDoubleScalar
Fix j into i
Added missing , in vector init
Added missing parenthesis
Fixed do_get_blobs_info
Rename load_model to load_net
Added count to blobs, changed name of blobs to weights for layers
Changed name of blobs to weights for layers
Added get_layer_weights
Fixed declaration of  mx_layer_weights
Fixed declaration of c_layer_name
Convert layer_name c_str

Convert layer_name to c_str()
Added get_layer_weights to interface
Added logs
strcmp is 0 when equal
Added set_layer_weights
Fixed call in set_layer_weights