Support for __all__ as a list with square brackets

__all__ can be a list. This adds a failing test
for that and fixes it. It also warns to stderr if
__all__ is mutable.