Expose Net.copy_trained_layers_from and Net.share_trained_layers_with in pycaffe

This allows finetuning from Python, for example.

Misgivings: `copy_trained_layers_from` and `share_trained_layers_with` are very long names, while pycaffe mostly has pretty succinct naming. Also, the layers don't really have to be trained at all, so maybe the simple `copy_from` and `share_with` would be better. But these are the names in the C++ interface.

I don't know what will happen if you `share_trained_layers_with` a net, and then delete that net. But it's the same as what will happen if you do the same in C++; does anyone know how that is handled? For the use case I have in mind (the solver), this issue does not arise, because the solver is holding all the nets.