Persistently save any variables set on the scons command line.

The next time you run scons, we'll pick up those same variable settings
automatically, which means you can just run "scons" by itself.  Handy!
Allow changing the path we use to run llvm-config.

Still defaults to our custom installation in "/p/polyglot/public/llvm", but
now you're not strictly locked into using only that.
Explicitly pull in <set> header, since we use std::set later in this file.
LLVM 3.5 build fix: adapt to new locations of some LLVM headers.

This change still leaves us backward-compatible with LLVM 3.4.
LLVM 3.5 build fix: DEBUG_TYPE is no longer defined by default.

Apparently it's now up to us to define this to a useful string literal.
But LLVM 3.4 and earlier do already define this, so we need to #undef it
first in case we're on those earlier versions.

This change still leaves us backward-compatible with LLVM 3.4.
iiglue runs opt, so opt is an implicit dependency for iiglue output.
Oops, don't need to list iiglue itself as a dependency.

scons figures that one out for us.
Merge pull request #5 from AlisaMaas/llvm-3.5

Port to LLVM 3.5