Fix optimization and nbody spell checking.

When `FLAGS.optimization` has not been set (default 0),
`Expr.needs_cache` will be set to False, so no expression caching is
disabled. This renders the nbody example useless (very slow and also
memory intensive). Expr.needs_cache no longer checks FLAGS.optimization,
so the user does not have manually set it to 1.