Optional Dependencies decorator

This is an important step in completing #63 : a decorator to put around functions or methods that signifies they have an optional dependence. 

This is not done, because I would need to go in and add it everywhere we use scipy and add something about it to the coding guidelines.  But first I want to get some feedback: @iguananaut @mdboom @astrofrog, in particular: should we include this (in 0.2)?

Also, right now the only thing that does anything with the information in the decorators is the informational function included here (`find_all_optional_dependencies `).  But in 0.3 we would probably aim to add a tool to try to install these or at least report in the documentation what all the opdeps are.