Only compile one source for Chisel

Because of some of the oddness of how I compile Scala, I actually need
to do a new Chisel run for each source file listed.  This boils down
to always just compiling the final given Chisel source, which is what
this patch does.
Clear sources before pushing a new one

The old method of handling sources was to push every source onto the
stack and then pop all the sources at the end.  This caused a snippit
like

SOURCES     += a.c
COMPILEOPTS += -Daoeu
SOURCES     += b.c

caused BOTH "a.c" and "b.c" to be built with "-Daoeu".  The new method
pops all the sources off the stack whenever a new SOURCES is called.
Using the new method, only "a.c" (along with any file included by
"a.c") would be compiled with "-Daoeu".  Essentially this allows you
to staticly link code together while providing it different
compile-time flags, something you couldn't do using the old method.
If you really wanted ALL files inside your binary to be built with
"-Daoeu", you should have attached it to the "BINARIES" line anyway.

I'm going to consider this a bug, though I guess it's technically
incompatible (as people could have depended on the old behavior).
That said, I think anyone depending on the old behavior had a really
fragile build to begin with, so I'm not worried about breaking those.

Note that this will only effect people who were using two "SOURCES"
lines per "BINARIES", which is probably pretty rare.
Use zinc's compile daemon

Note that this kind of trades one bug for another: compiles are now
fast, but old .class files still get pushed into the output jar
because I can't use that strace trick anymore.

I guess it's time to invest in a proper Scala parser... :)