Better qualimap axes

Main change here is that the x axis for most qualimap plots is now determined automatically when run without an explicit parameter, instead of using a hard default. How this is decided varies on the type of data, typically `2 x median` value or something similar. This code is entirely self contained now, so much better than earlier attempts at doing this.

Second small change is the addition of `plot.close()` statements. This makes no difference when run on the command line, but when the function is imported into another script and used to generate a lot of plots it dramatically improves memory usage.
I was about to write the same thing Perk did: if you're trying to catch two different exceptions they need to be a tuple or it'll just catch the first one.

```python
>>> try:
...     raise RuntimeError("Can't catch me")
... except OSError, RuntimeError:
...     print "Caught"
... 
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
RuntimeError: Can't catch me
```

An interesting question I guess is why this is even valid syntax; I'm unsure how the `Exeption1, Exception2` is evaluated. Any thoughts?