Running checking VCs in parallel, resolved #17

By using Scala .par I can run checking process in parallel

More bugs apeare when running parallel
  - Refactor code, so we don't have to use isReach variable anymore,
		resolved #18
	- Refactor code, simplify now became a class instead of a object
	- Fixing a bug when Rules object running in parallel (caused by a
		shared variable in Rules object), resolved #19
	- SolverFactory causes error when running in parallel (don't the
		reason), resolved #20
	- Mash's bug when running in parallel, resolved #21