pytest: default to short tracebacks

Override by exporting PYTEST_TB with the desired traceback style:
long, short, line, native, no
pytest: export PYTEST_NPROCS to set number of concurrent threads
pytest: export PYTEST_WATCH to rerun tests on changes
Remove static from variable declarations in CUDA kernels

These are not allowed in __device__ and __global__ functions and
cause nvcc compile failures. The IR AST code generator takes care of
that, but we still need to fix it for kernels handwritten as C
strings.
Optionally pass list of include_dirs to Kernel

These are passed to instant and to the preprocessor.
Remove burgers demo

This demo is broken and not used as a regression test. Prevent
further bitrot by removing it.
Remove adv_diff_mpi demo

This demo is hard to maintain since it relies on pickled objects that
need updating whenever the relevant class changes. Prevent further
bitrot by removing it.
Refactor demos to optionally use Firedrake FFC interface

* By default, read canned kernels from disk
* If -f is given, generated kernels via Firedrake's FFC interface
* If -f -u is given, update the generated kernels
Add a regression test for adv_diff_nonsplit demo
Remove FFC interface
Remove compatible FFC version