Refactor sequential dataset.

Simplify a bit but mostly use izip to improve the performances of very large
dataset.

Note: dataset.vectorformat seems not to be used and that's good because if
at least we can make sure vectorformat is never list, then dataset should
always use np.array data types. If dataset uses lists, the performances drop
drastically. If we know dataset only uses np.array (i.e., drop support for list)
then we can replace all ravel(x) by x.ravel() which is much faster. If we can
remove vectorformat completely, I guess we could replace x.ravel() by x which
is even faster.