Fix binary version for snapshots of minor releases.

The binary version for 0.5.3-SNAPSHOT should in fact be 0.5,
not 0.5.3-SNAPSHOT. However, the binary version for
0.6.0-SNAPSHOT, as well as 0.6.0-M1 and so on, should be the
full version indeed. In general, snapshots of minor releases
should have the binary version of their major release. This
is important for applications built on a snapshot to be able
to resolve libraries built with a release.

In the process, this commit also cleans up a few things
related to version numbers in the sbt plugin.
Fix compiler crash in isRawJSCtorDefaultParam.
Fix CLI compilation errors
Merge pull request #891 from sjrd/fix-bin-version-for-snapshots

Fix binary version for snapshots of minor releases.
Merge pull request #890 from sjrd/fix-compiler-crash

Fix compiler crash
Fix cli assembly script paths
Merge pull request #893 from gzm0/fix-cli-assembly

Fix cli assembly script paths
Fix #889: Add CI for CLI compilation and assembly.
Merge pull request #892 from sjrd/fix-cli

Fix CLI compilation errors
Version 0.5.3.
Towards 0.5.4.
Fix #897: Deserialization from 050 to 053 crashes optimizer.
Fix #899: Always unbox arguments to reflective calls.
Merge pull request #900 from sjrd/fix-deserialize-hack-050-to-053

Fix #897: Deserialization from 050 to 053 crashes optimizer.
Merge pull request #901 from sjrd/unbox-args-of-refl-calls

Fix #899: Always unbox arguments to reflective calls.
Fix #895: Silent debug messages in Scalajsd by default
Merge pull request #902 from gzm0/quiet-cli

Fix #895: Silent debug messages in Scalajsd by default
Fix #894: Add conversions for UndefOr
Merge pull request #903 from gzm0/undefor-conversions

Fix #894: Add conversions for UndefOr
Add toURI method to VirtualFiles