v0.4.1


- Ability to specify default printing in statsitical tests with the `suppress_print` keyword argument (default False).
- For the multivariate log rank test, the inverse step has been replaced with the generalized inverse. This seems to be what other packages use.
- Adding more robust cross validation scheme based on issue #67.
- fixing `regression_dataset` in `datasets`.
 

@spacecowboy, here's my solution: first shuffle the dataframe's rows, the sort by the event_col (False/True, or 0/1). This puts all the censorships first, and observed death after. eg:


```
In [21]: df
Out[21]:
   0
0  0
1  1
2  1
3  0
4  0

In [24]: df.reindex(np.random.permutation(df.index)).sort(0)
Out[24]:
   0
3  0
0  0
4  0
2  1
1  1

```

then create an array like the following (k=2)

```
In [27]: 3*range(1,3)
Out[27]: [1, 2, 1, 2, 1, 2]
```

and use that for assignments. This gives very good results: each group (expect for possibly the last), has equal number censorships and observations.