Merge pull request #9 from janih/master

Branch utility function
Implemented fix for passing of optional arguments. Still needs significant testing before its ready for production
Passing optional arguments is now working correctly for "insert". I imagine there are more cases where I will need to enable them.
Additional changes for parsing optional arguments. Also added some extra testing around a few of the predicates. There is still more work to be done, but at this point the interface should be usable for most things.