Added new enum in order to differentiate the warning messages on "misusing" into 3 categories: function calls, moving an object, copying an object. (At the moment the checker gives the same message in case of copying and moving.)
Additional test cases added as well.
Note: The dependency is only added for the reason not having conflict problems on the test cases.