[Arith] add SizeVar representing non-neg valued variable in a tensor shape (#4684)
* [arith] add ShapeVar representing non-neg valued variable in a tensor shape
* bounder remover; deal with div in int_set differently
* fix bounder_remover
* migrate unittest to use shape_var
* use tvm.shape_var in integration & relay tests
* add test case; fix Var register
* fix lint
* fix lint again
* add default ShapeVar visitor in Relay
* fix override
* fix ShapeVar visit bug
* revert IntervalSet for shape_var
* remove bound_remover
* remove is_var; use constructor for shapevar/var instead
* ShapeVar -> SizeVar; add constructor comments
* shape_var -> size_var in doc
* tindex -> size