Moscow and Washington have struck a deal to hold a summit soon between Russian President Vladimir Putin and US President Donald Trump.