This allows the compiler to generate:
- Move constructor
- Move assingment
- Copy constructor
- Copy assignment
- Destructor
This in turn allows further KFileItem optimization throughout KIO and Dolphin.
Also added a quite minimal test to see if move semantics work.
As implemented now it roughly follows the "rule-of-five-default": http://scottmeyers.blogspot.nl/2014/03/a-concern-about-rule-of-zero.html
I was tempted to go for the "rule-of-zero" which means not implementing any of those functions (thus the compiler generates them), but that - in my opinion - is not really clear as it's easy to add the destructor and then be surprised by not having move
semantics anymore.