loader: refactorings

Less `window` and `smalltalk` global usage.
Using global `amber` as a communication channel for load/init.
Moved toggleAmberIDE into smalltalk and calling it.
Fixes #155.

Also make `removeKey:` constant instead of linear. No need for splice.
Merge pull request #380 from herby/gh-155

Fixes #155.
Some Collection goodness.

assocations, keys, values + do in Dictionary et al.
numeric indexes using js methods moved from Collection
  to SequenceableCollection.
amberc: pass in closure_jar variable to Compiler constructor
amberc.js: initialize closure_jar to empty string if parameter is undefined
REPL: recompile
amberc.js: only compile concatenated program if it was built
amberc.js: only minify the actively compiled sources and not the specified libraries
bin/server: pass commandline parameters on to the node.js script
FileServert.st: extract JS method for Base64 decode into own method
FileServer.st: exit handlePUTRequest: if authentication failed
server.js: recompile
grunt: remove examples target
Makefile: remove Examples target (fixes #377)
grunt: remove Examples.js from amber_dev target
Different migrateClass:, uses atomic name-swap.

It fixes, partly, #382. It is possible to reparent
Set and HashedCollection. But reparenting SequenceableCollection
fails while moving Array.
Merge pull request #381 from herby/collection-goodness

Some Collection goodness.
Merge pull request #385 from herby/atomic-swap-migrate

Different migrateClass:, uses atomic name-swap.
Better protocols for ClassBuilder methods