compiler: Fix recursive vector type contructors

The (Vector) and (Vectorof) constructors were increasing the recursion
depth by one themselves. This is broken as extractSchemeTypeRef
increases the recursion count itself.

This also adds a functional test for recursive vector type predicates.
compiler: ps.LoadVectorElement definition fixes

- Don't consider vector loads nullipotent. Vector contents are mutable
  so we can't merge vector loads to the same index. This is hard to
  trigger as LoadVectorElement is only used for type checks at the
  moment but once there's (vector-ref) planning this would become an
  issue

- Rename our result temp value in renamed(). We don't rename result
  values current but this is technically wrong..