Break rules into their own files
We also move buildRules to rules/index so that RouterEngine does not need to know the concrete type of the rules.
One more refactoring for #20
Edited by Lin Jen-Shin
We also move buildRules to rules/index so that RouterEngine does not need to know the concrete type of the rules.
One more refactoring for #20