Fix randomMatching, should not modify the state in this function

* This is actually a bug where some legal programs cannot be
  generated.
Merge `randomMatching' and `getMatching' into one function
Update text in beginning of ExpGen section
add `randomMatching' text