relabel uses kwargs

Before

    >>> accounts.relabel({'amount': 'balance'})

After

    >>> accounts.relabel(amount='balance')
relabel.__str__
Merge branch 'master' into relabel-kwarg

Conflicts:
	blaze/expr/tests/test_expr.py
fix _repr_html_
label() without changing anything is a noop
merge accepts kwargs

cc @JosephCottam
fix repr_html test
restrict top-level blaze.expr api
restrict public facing blaze.data api
clean up some __all__ definitions
don't dump chunks into main namespace
Data passes kwargs to resource
add test to Data-resource kwarg change

cc @quasiben @chdoig
clean up header handling in csv
Merge pull request #758 from mrocklin/relabel-kwarg

relabel uses kwargs
expr: test axis normalization on reductions
python: keepdims on reductions
expr: keepdims on std, var
pandas keepdims
common_subexpression uses dispatched subterms, not _subterms method