Fix #353: Only export module accessor, not module class constructor
Fix #313: Checks for ctor and module exports. Prevent trait exports
Merge pull request #355 from gzm0/export-improve

Export improve
Abstract ScalaJSOptimizer away from java.io.File.

Using an abstract view of a "file system" that has an abstract
type member for its representation of a file.

This is a part of fixing #350, so that, for example,
AbstractFiles can be used instead of java.io.File to support
virtual in-memory files.
Factor out invocation of Closure compiler for Scala.js.

Using the same file system-independent mechanism, so that
it will be usable with virtual files.
Fix #357: Forbid to export non-setters ending in _=
Merge pull request #358 from sjrd/dce-api

Fix #350: provide an API for dce and closure invocation
Merge pull request #359 from gzm0/export-props

Fix #357: Forbid to export non-setters ending in _=
Version 0.4.0.
Towards 0.4.1.