Refactor parsing of bracketed expressions

Treat all the expressions which read a subexpression first together, to
reduce backtracking. Sections now use a simpleExpr, rather than a full
expr, which may be a good thing anyway for clarity. Sections are also
explicitly disabled for prefix operators.
Implement LNullPtr primitive
Fix mistake in test Makefile
Temporarily disable buffer001 test

Seems to have a problem on 32 bit machines? Or at least, segfaults
inexplicably on some machines.
Merge pull request #832 from Ralith/llvm-nullptr

Implement LNullPtr primitive
Add assert_smaller function

assert_smaller x y evaluates to y, and asserts to the totality checker
than y is structurally smaller than x. This can be used to explain the
reasoning for totality if the checker cannot work it out itself. For
example:

total
qsort : Ord a => List a -> List a
qsort [] = []
qsort (x :: xs)
   = qsort (assert_smaller (x :: xs) (filter (<= x) xs)) ++
      (x :: qsort (assert_smaller (x :: xs) (filter (>= x) xs)))

The expression 'assert_smaller (x :: xs) (filter (<= x) xs)' asserts
that the result of the filter will always be smaller than the pattern
(x :: xs).

Using this is always preferable to %assert_total if the termination
argument can be explained in this way.
Merge branch 'master' of github.com:idris-lang/Idris-dev
Inline assert_smaller correctly

Also add to CHANGELOG
Disable buffer001 test properly...
Add assert_total function

This marks its argument as total, meaning that smaller subexpressions
can now be asserted to be total, rather than entire functions. A
combination of assert_smaller and assert_total should be used to help
the totality checker, rather than %assert_total to mark an entire
function as total.

The %assert_total option will be removed later.
Remove %assert_total from Nat and Strings
Check assert_total is defined before evaluating

Otherwise it goes bad when defining it! This is just a bit of a hack to
make sure we fully evaluate under assert_total, and probably ought to be
done a bit more tidily later.