Split LayerParameter into PoolingLayerParameter, ConvolutionLayerParameter, and so on for layer-specific params. This will be self-documenting in terms of what params each layer accepts.
There should perhaps be a "base" LayerParameter with common fields.
Layers and LayerConnections should could go away. There's no need for the
incantation.
For backwards-compatibility, the current caffe.proto will be frozen as caffe0.proto. A translation script from caffe0.proto to the new caffe.proto should be implemented to help migrate models.
Don't fret, this is only a one-time break to fix the schema for the 1.0 release.