Use __all__ in __init__.py files

As discussed in #502.

Note, that I haven't touched the io and viewer packages. Maybe someone else with specific knowledge can tackle them.