Handling of optional dependencies

A large fraction of `photutils` functionality requires `scipy` and / or `scikit-image` as optional dependencies.

@larrybradley I don't see any advantage to putting every import statement for the optional dependencies into a try ... except block and raising a custom `ImportError` that basically says the same thing. Would the change in 253703e be OK with you?

It would be nice if we had a decorator like
```
requires('skimage', '0.9', '... comment ...')
```
that would declare optional dependencies for functions or classes and put this info in the HTML docs.
@eteq @astrofrog Does it exist or is planned for Astropy?