Remove EVALs from generated code

Except where explicitly required by a Force
javascript: strTail could not be optimized properly
javascript: fix detection of constant constructors
javascript: removed unoptimizable JSRaw
Merge pull request #874 from puffnfresh/javascript-ready

Execute JavaScript output after DOMContentLoaded
Merge pull request #875 from raichoo/javascript

javascript: remove redundant local constructors
Merge pull request #878 from walkie/master

Add updateAt to Vect.
Merge pull request #883 from david-christiansen/semantic-pprint

Highlight errors in ideslave
Merge pull request #885 from david-christiansen/fix-help

Fix argument syntax to match what Idris actually wants
Merge branch 'master' of github.com:idris-lang/Idris-dev into typed-laziness
Merge pull request #887 from raichoo/typed-laziness

Typed laziness
Merge branch 'typed-laziness' of github.com:idris-lang/Idris-dev into typed-laziness
Remove EVAL from APPLY

Also slightly reduce size of EVAL/APPLY functions
javascript: disable all optimizations (temporary)
javascript: add noop
javascript: true else branch
Make EVAL and APPLY smaller

(Also shortcut inlining for boolElim, until we make it more general,
which is the source of a lot of the cases in EVAL in practice)
Remove conflicting fixity declaration
Fix some load instructions being incorrectly marked as invariant for LLVM

This resolves some possible cases of undefined behavior.
Merge pull request #889 from raichoo/typed-laziness

Disable all optimizations (keep travis quiet)