refactor to better support non RESTful forms
add method to use as before_filter
update readme and gem description