add remap to codegen for functions
add test case for fun to fun, bring back ascription
add test case, ascription for return values
modify array_obj_fromseq to take Seq[Rep[T]]
Merge pull request #64 from TiarkRompf/array_obj_fromseq

modify array_obj_fromseq to take Seq[Rep[T]]
Merge pull request #63 from TiarkRompf/functions-remap

add remap to codegen for functions
Replace string concatenation with interpolation

In all of the *Ops.scala files.  Some instances of string.format(...) were also
replaced.
Add a string interpolator for code generators

The interpolator will automatically call quote or remap depending on the type of
each argument.  If the argument is already a string, it doesn't call anything.
Quote Seqs in the string interpolator

This avoids expressions like 'x.map(quote).mkString(",")' which are hard to
read.
Add a string interpolator to do stream.prinltn

Now src"..." simply does the quoting, whereas gen"..." quotes and prints to the
stream.
Generate blocks with the gen string interpolator

A subclass of CodegenHelper, contained in GenericNestedCodegen
detects whether to print to the stream or simply call emitBlock.

Stripping the margin becomes more complicated as the context part may
contain a |.
Change .check files so the gen code looks better

'emitBlock' prints a new line at the end of the block, so a blank line
is currently generated after every block.  To avoid this one could
remove the new line in the string interpolation, but that's ugly.
Replace raw with src in Equal.scala
Fix search and replace errors
data ops test
Make calls to emitBlock explicit

Added a "nestedBlock" method to do this.  Calls to getBlockResult are now
implicit.
Merge pull request #69 from Lewix/develop

String interpolators for codegens
add missing quote @Lewix: ok?
Some more C ops.
More COps.