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.
Yeah, @Galithil wasn't happy about the variable typing in this code either. When you run it on the command line and specify As you say, could only happen if someone called the function with an incorrect parameter (which is entirely possible I guess). So I figured I'd follow the route of _"better safe than sorry"_ and just default if anything weird happens.