RF+BF: Refactor uniquemerge2literal to support multi-dim attributes

This also removes the custom conditional wrapping fo return values into
lists to imply a conversion scheme. Now this function always returns
sequences if it does its job. However, the special case of returning
None for empty sequences and the input for non-sequences are maintained
for backward-compatibility.

Add a dedicated test.
NF: Balancer can re-include "offlimit" samples after balancing

i.e. only balance a portion of a dataset, but keep the rest untouched
and included in the selection.
Merge branch 'master' into cmdline_modular

* master:
  NF: Balancer can re-include "offlimit" samples after balancing
  RF+BF: Refactor uniquemerge2literal to support multi-dim attributes
ENH: Complete 'crossval' command with reusable crossvalidation module