Refactor

Clean up code.
Better performance.
Path matches only support magic chars: Wildcard *, String start ^ and String end $