ResourceManager: implement move semantics, simplify logic

Simplify property destruction logic and do not keep non-persistent props
around in clearVec(). If a prop is alive but non-persistent, someone
else has a shared_ptr to it, so we will not pull out the rug from under
their feet.
9 jobs for mh_refactor in 3 minutes and 5 seconds
Status Job ID Name Coverage
  Test
passed #70514
VS2015
VS2015-32-bit

00:01:16

passed #70513
VS2015
VS2015-64-bit

00:01:24

passed #70512
VS2017
VS2017-32-bit

00:01:25

passed #70511
VS2015
VS2017-64-bit

00:01:16

passed #70508
Linux
clang-c++11

00:02:47

passed #70510
Linux
cppcheck

00:00:37

passed #70515
Linux
doc

00:00:17

passed #70507
Linux
gcc-c++11

00:03:04

passed #70509
Apple
macos-c++11

00:01:36