modified python version to be based on YAML rules instead of old hard coded ones.
cleanup
refactored test cases
moved JS impl to js/
updated port scripts
update README.md