Fix tests for py33 and fix Maestro.best_version()

There was a silly mistake in the `newest` helper, we were just sorting
strings instead of sorting versions. It was fixed by adding the
parameter `key=LegacyVersion`;

Also in `.best_version()`, the way of remembering in which requirement a
version was found was just broken.

Other changes were:

 * Fixing a (stupid) bug on `Maestro.filter_by()`

 * Use `str()` instead of `b''` to mock `__name__`s of decorated functions;
Fix random string mismatching on exception raised in Maestro.best_version()