Array functionality in a new Prelude module
update to compile
make ArrayELement derivable
document, work on functions for mutable arrays
add usage message
adjust code generation for arrays