NF: Add option to let eventrelated_dataset perform optional temporal compression

or other evil stuff.
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 remote-tracking branch 'gh-yarik/master'

* gh-yarik/master: (74 commits)
  BF: in case of absent psutil - fix parsingout vmem utilization
  BF: x might be not an ndarray apparently -- fix the check
  ENH: vmem_max debug metric to report peak memory consumption
  ENH: robustify searchlight test
  ENH: in case of an invalid header ensure that the output dataset is centered for world coordinates
  ENH: allow for datasets with invalid nifti header but values for voxel dimensions and element sizes (such as in the hyperalignment example)
  ENH: now comparison in all_equal returns False if the comparison raises an error. XXX is this proper behaviour?
  BF: ensure that the example the tutorial also shows that center_ids are now a feature attribute after running a searchlight
  DOC: minor
  RF+ENH: in the case of a radius of zero only consider the node itself. This speeds things up tremendously in the case of just finding voxels intersecting with the surfaces
  BF: remove silly borrowdoc because it did not apply in the first place
  NF: support for AFNI NIML ROI datasets (.niml.roi when generated in SUMA)
  ENH: minor code cleanup
  NF: support for a null hypothesis mean value in ttest
  ENH: minor code cleanup
  BF: proper variable name c instead of config in augmentconfig. Thanks to Brian Stirling for reporting this
  ENH: in NIML datasets automatically detect the presence of labels and stats. XXX see if we can make this smarter and also detect presence of "targets" label if "labels" label is not present
  BF: ensure that order for elements over rows and columns in numpy arrays is properly written in NIML datasets for binary and base64 output formats
  ENH: another attempt to get test_spatial_searchlight to work properly, this time by changing the boundaries of expected output results rather than @labile tag (which made the test non-responsive according to travis)
  ENH: indicate that test_spatial_searchlight is labile
  ...
Merge remote-tracking branch 'gh-master/master'

* gh-master/master: (46 commits)
  ENH: import eeglab_dataset in the suite
  ENH: ensure that result dataset in unit test is properly shaped
  BF: samples comparison yields an array rather than a single value
  BF: null_prob is a dataset, so for comparison we have to take its samples
  PY3: make NIML parsing and the unit tests py3 compliant
  RF: remove for now the magic AFNI NIFTI extension nuking
  ENH: using try/catch to check whether AFNI extension header should be nuked
  NF: detect when size mismatch in NIFTI header and AFNI extension data - nuke the latter if that is the case. Addresses https://github.com/PyMVPA/PyMVPA/issues/107
  ENH: allow other states and use medial view as a default
  ENH: ignore <xml ...> tag at beginning of NIML string
  BF: better support for unicode strings
  BF: indicate that test_poly_sg is labile
  BF: check for the case that a file cannot be parsed properly - make sure it handles such an error correctly
  BF: proper formatting if unexpected NIML end
  ENH: allow for empty zero bytes in the end of NIML data - important when reading NIFTI extension values
  ENH: allow for full patch 3d for adding views
  ENH: surf.from_any now also supports caret surfaces
  ENH: better use of numpy builtin array comparison
  RF: better init for ascii surfaces
  NF: allow single vectors in distance function
  ...
DOC: Typo