Added Multistep, Poly and Sigmoid learning rate decay policies

Conflicts:
	include/caffe/solver.hpp
	src/caffe/proto/caffe.proto
	src/caffe/solver.cpp
Added first_key and last_key to dataset
Merge pull request #1288 from sguada/first_last

Added first_key and last_key to dataset
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
Speed up WindowDataLayer and add mean_values
Added cache_images to WindowDataLayer
Added root_folder to WindowDataLayer to locate images
Change caffe time to do forward/backward and accumulate time per layer
Upgrade compute_image_mean to use gflags, accept list_of_images, and print mean_values
Added CPUTimer
Make timing more precise using double and microseconds
Merge pull request #1239 from sguada/encoded

Allow using encoded images in Datum, LevelDB, LMDB
Merge pull request #190 from sguada/new_lr_policies

New lr policies, MultiStep and StepEarly
Adapt lenet_multistep_solver.prototxt to current solvers
Sometimes anaconda is installed in root.

Helps fix #489.
Merge pull request #1293 from sguada/new_lr_policies

Fixed paths for Added Multistep, Poly and Sigmoid learning rate decay policies
Merge pull request #1296 from crizCraig/patch-5

Sometimes anaconda is installed in root.