store configuration procs on the configurable class

Store the configure_blacklight procs on e.g. the CatalogController, and evaluate them only when blacklight_config is requested. This simplifies the deep-copy nonsense, and maybe makes it more difficult to accidentally mutate the config in unexpected ways.

It also, presumably, lets us bind the procs to a controller context, so we can use e.g. ```params``` or ```current_user``` in the configuration easily.

I'm not thrilled with it, but I had to do something similar in my ugly projectblacklight/blacklight/solr-service branch anyway, so maybe it's inevitable. 

Anyone have strong opinions about it? Or suggestions for making this cleaner?

(as a way to fix #526.)