Merge pull request #212 from anthonygego/master

Improved package distribution and Windows compilation process
Should add --HEAD option when install mozart2 using brew

Otherwise brew would complain that mozart2 is a head-only formula.
Merge pull request #218 from suzaku/patch-1

Should add --HEAD option when install mozart2 using brew
Remove any permanent BoostVM reference

* The ASIO thread would call postVMEvent() after/during VM termination,
  (because some IO action happened such as a read error or close)
  resulting in invalid mutex/memory access.
* Save (env, identifier) instead in ASIO classes.
* It might get stale as the VM might have terminated.
* postVMEvent() now always consider the possibly terminated status of the VM.
* Pass the BoostVM& in the postVMEvent() callback as that is safe.
Remove _monitorsMutex in favor of postVMEvent()

* Much simpler, the caller is always the thread running the VM.
Make it so all functions of BoostVM are called by its VM thread

* _portClosed is now public as it already has all protections in its type.
Merge pull request #219 from eregon/boostvm_refs

Remove permanent BoostVM references
Maybe fixed a bug which caused SEGFAULT when using gcDo on a -g *.ozf.
Avoid generating `getSelf`/`setSelf` instructions for class with locking.
Merge pull request #217 from kennytm/debug-sym-fix

Fix some bugs regarding debugging symbols (ozc -g)
Upgrade the Scala ecosystem of the bootcompiler.

- sbt 0.13.6
- Scala 2.11.2
- scopt 3.2.0

Fixes #221, because Scala 2.11 should be able to read JDK8 stuff.
Merge pull request #222 from sjrd/upgrade-scala-stuff

Upgrade the Scala ecosystem of the bootcompiler.
Fix bug with PackWithReplacements when top-level object with complex objects.

PackWithReplacements failed with "Resources found during pickling",
because the original value becomes a Reference after replacemenet.
Merge pull request #227 from kennytm/top-level-pack-with-repl

Fix bug with PackWithReplacements when replacing top-level object with complex values.
Update ASIO wrapper constructors to only take BoostEnvironment and VMIdentifier

* Restore the behavior of creating a new TCPConnection
  in every call of startAsyncAccept().
Document a few exceptions for the calling thread
Constify a couple members of BoostEnvironment and BoostVM
Improve member order of BoostVM

* The environment is the "main context" of the VM.
* Also follows better the constructor arguments order.
Merge pull request #234 from eregon/boostvm_refs

Update ASIO wrapper constructors