Check exports

Closing #562 again, and also checks that when a class is exported so are all its members, as suggested by @jdegoes.
Maybe

```
forM_ exps $ check
  [ typesAreExported
  , classMembersAreExported
  , classesAreExported
  ]
  where

  check :: (Monad m) => [a -> m b] -> a -> m [b]
  check = flip mapM . flip id
```

:)