minor fixes / improvements

Here are a few suggestion for things I found flawed when trying out the current catkin_tools.

The ``` isinstance(line, str):``` problem is worrying in particular since this idiom is used several times in the codebase (just grep for ```isinstance(```

I am doin too little with python these days to find out what goes on. On my machine using python 2.7.5, the function resultspace.get_resultspace_environment would return an empty dict because the lines would not satisfy isinstance(line, str). Maybe it was unicode for me:

I tried debugging, ```println(type(line))``` would give me e.g.:

```
(u'EDITOR', u'nano', False)
```

I only changed this where it bit me, but I strongly suggest changing it everywhere you encounter it (grep over your workspaces), since basestring seems to be more robust.
I think `basestring` has been removed in Python3, I think you need something like:

```python
try:
    str_type = basetring
except NameError:
    str_type = str
...
if isinstance(line, str_type):
```