Promoted weave test to grid.base level

The testing for weave compiling now happens as part of the base.py grid
initialisation, so it only happens once.

Components that need to check whether weave can run or not can do so by
checking grid.weave_flag. (True if weaves will run)