[pycaffe] expose Net::CopyTrainedLayersFrom as Net.copy_from

This allows finetuning from Python, for example.
[pycaffe] expose Net::SharedTrainedLayersWith as Net.share_with
use glog to provide a backtrace on crash
[cmake] move dependency finding to root CMakeLists.txt

In this way, custom include directories for the dependencies are
also available for tools/ and the bindings.  This is necessary for
example when someone is using custom built dependencies which are
not installed in the system's default directories (e.g. OpenCV includes
are required in tools/ through io.hpp)
Merge pull request #1232 from baeuml/cmake-move-dependency-discovery

[cmake] move dependency discovery to root CMakeLists.txt
Merge pull request #1227 from longjon/crash-backtrace

Use glog to provide a backtrace on crash
Fix CMake build of pycaffe
- generate right shared library name
- fix CMake linking with the new layer factory
- find numpy

Fix finding protobuf.
Merge pull request #1206 from BlGene/dev

Fix python plugin to work with new layer factory in CMake build
Merge pull request #1195 from longjon/python-copy-from

Expose Net.copy_from and Net.share_with in pycaffe
Added encoded option and check_size to convert_imageset

Conflicts:
	tools/convert_imageset.cpp
Added encoded datum to io
Added test for encoded Datum to test_io.cpp
Added timers for benchmarking
Add fast code for transform(cv::Mat,Blob)
Add root_folder to ImageDataLayer
Added TIMING flag to Makefile for timing forward, backward and prefetch
Make Lint happy
Speed up WindowDataLayer and add mean_values
Added cache_images to WindowDataLayer
Added root_folder to WindowDataLayer to locate images
Remove TIMING flag, change caffe time to do forward/backward and accumulate time per layer