consolidate build rules for object files
automatic discovery of source directories
move cuda output from build/.../.cuo -> build/cuda/.../.o

This will allow nvcc's -M dependency generation option to work
harmoniously, since it assumes that output will have a .o extension.
check host malloc result
Added bvlc_googlenet prototxt and weights
Merge pull request #1598 from sguada/bvlc_googlenet

Added bvlc_googlenet prototxt and weights
Added credits for training bvlc models
Added credits and bvlc_googlenet to model_zoo.md
Merge pull request #1608 from sguada/added_credits

Add credits for training BVLC Models
Merge pull request #1585 from longjon/check-malloc

Check host malloc result
update use of GetLayer -> LayerRegistry::CreateLayer
Merge pull request #1636 from longjon/get-layer-gone

Holiday merge - Update use of GetLayer to new registry function
automatic dependency generation
Merge pull request #1472 from longjon/incremental-build

Makefile improvements: rule consolidation, dependency generation
add BaseConvolutionLayer

This provides a common place for code used by ConvolutionLayer and
DeconvolutionLayer, simplifying the implementations of both.
add CPU_ONLY ifdef guards to BaseConvolutionLayer
rewrite ConvolutionLayer to use BaseConvolutionLayer helpers
add DeconvolutionLayer, using BaseConvolutionLayer