Addressing annoying warnings

3 kinds of changes here:

1.) imports are restricted to what is necessary
2.) when an exception is raised but its details aren't accessed, no need to specify a variable to capture the exception
3.) when unpacking a list, or iterating, if you have a variable that is just an unused placeholder, the convention is to '__' for this variable.  E.g.
```python
for __ in range(4):
    print "hello"
```