[ feature + bugfix ] tabulate + out of bound error

* Reintroducing `tabulate`
* Get & Set now check for out of bound error and map, etc.
  are now correct: `I.primrec` is now applied to `I.pred size`
  rather than `size`...
[ test-suite ] Fixing the test-suite

* It works for now (and all tests are successful) but the long term
  goal is to use a proper unit testing framework rather than this...
[ test-suite ] Failure cases

* Now also testing things which *should* fail. E.g. out of bounds
  setters and getters.