dry_run can be optional

node_remove.rb is not sending this parameter, so if it is not optional,
there would be error like:

MC agent 'erase_node', method 'erase_node', results:
{:sender=>"2", :statuscode=>4,
:statusmsg=>"Action 'erase_node' needs a 'dry_run' argument",
:data=>{:status=>nil, :erased=>nil, :error_msg=>nil, :debug_msg=>nil,
:rebooted=>nil}}
fix for HP smart array

Entries in /sys/block for cciss look like cciss!c0d1 while
the entry in /dev look like /dev/cciss/c0d1. udevadm uses
the entry in /dev so we need to replace the ! to get a valid
device name.

More details here:
https://review.openstack.org/#/c/61289/4/bin/agent