rules docs, multi-key sort, extra properties

just minor improvements
Add testing capability, use argparse file handlers