Finish XCM Executor Assets w/ Tests (#1821)

* adding some basic tests

* min error

* fix min

* fix saturating_take

* all fungible and non fungible

* min abstract

* fix saturating take

* clean up

* some comments and fixes

* another fix

* more fixes

* comment

* remove unnecessary collect

* improve iter cloning

* better saturating_take impl

* feedback

* fix no_std build

* add doc tests

* mem::replace to be a bit more efficient

* better api
9 jobs for master in 17 minutes and 1 second (queued for 2 seconds)