Merge pull request #1 from raed/master

Ignore .DS_Store directories
Remove VmShow protocol, implement toString for VmInsts
Improve protocol for VM instructions
Add missing forward declaration
Upgrade ClojureScript to version 2371
Store compilation environment in functions
Move definition of GlobalEnv type to work in progress

Having a type that separates system-provided definitions from the ones
made by the user would be the cleanest solution to provide
visualizations only with data entered by the user.  However, since
Clojure makes it quite awkward to define new collections (and we have to
repeat the exercise for ClojureScript) we'll just dissociate the known
global data from the current global environment when passing data to
visualizations.
Remove `:code` attribute from VM state

Instead access the `:code` attribute of the `:fun` directly.
The `code` function provides a convenient wrapper for this.
Minor improvements, documentation updates
Add support for primitives
Implement vector primitives

* Implement vector, make-vector, vector-get and vector-set!
* Change the argument order for access functions in revue.mem to always
  take the store as first argument
* Fix some bugs
* Write some tests
Started revising assembler
Reintroduce VmShow protocol
Improve assembler, macros
Rename vector-get to vector-ref, fix ClojureScript compilation warnings
Implement vector-length, improve primitive calling protocol
Fix bug in -->clojure for vectors containing VM data
Add some helper functions for debugging
Add support for boxed values

Furthermore:
* Ensure that the stack stays a list
* Change calling protocol to have stack in reverse order of arguments
* Convert rest argument to VM format
Add let! and loop macros to Riley