Fix the store_metadata helper and add tests for it

Besides these changes, I think we should also get rid of the special 'store ip' functionality (including store_url helper and handler) and just have people store that as node metadata, i.e. replace store_url(:ip => ...) with store_metadata_url(:update => { :ip => ... })  ... or have the store_url helper be a shortcut for store_metadata_url("update" => vars)