CLJS-723: add :preamble option to compiler

Per this thread:

https://groups.google.com/forum/#!searchin/clojurescript/preamble/clojurescript/rUIlLfcYZvE/Yskfh4znL_0J

1) :preamble 's value will be a vector of paths
2) the compiled output is prepended with the contents of the files at those paths
3) the generated source map points to the correct/adjusted line numbers

Additionally, when compiling for the :nodejs target the preamble
contents will default to the hashbang we currently write in that
situation.

Not entirely confident the source map-fu is the right way to do this,
but seems to work.
preamble logic should use io/resource