Workaround poor libcloud introspection

Can't tell if a create_node takes a NodeAuthPassword or NodeAuthSSHKey atm...
It is impossible to update_zone on Route53

ATM libcloud doesn't have introspection for that, so we capture
the NotImplementedError.
Make NodeImage.extra optional
Fix typo in _fake_node_info
Bug fixes for lazier Execute handling

 * Fix return code checking in Execute
 * Fix unless handling to use cwd/user of Execute resource
Allow transport execute to take AST nodes directly
Fix returncode changing and resource handling for subversion