Fixing ImportError Code Path in setup.py

Needed to define 'extra' if setuptools is not installed. 

I also added some error messages.

@william-silversmith It makes it cleaner to move `extra=dict()` into except clause. (line 75 or 121).