ENH: use ';' instead of ',' to delimit 'sections' in package string.

That makes multiple dependencies/provides work out of the box, without
having to be smart about parsing.
ENH: put a few public classes unlikely to change in top namespace.
BUG: fix doctests.
TST: test doctests as well in travis-ci.