[ticket/216] Use get_move_module_data() for acquiring module data for moving

This will get rid of a query code that was duplicated over 4 methods in
portal_module.

B3P-216
[ticket/216] Do not try to set language if $lang is null in user mock

B3P-216
[ticket/216] Methods for last module order and handle_after_move()

The method for getting the last module order will return the last module
order in a column. handle_after_move() will take care of return an error
to the user or redirecting if the move was successful.

B3P-216
[ticket/216] Use handle_after_move() in move_module_down()

B3P-216
[ticket/216] Add move_module_left and move_module_right to unit tests

These methods are now covered by unit tests. They might need to be
stripped a little bit as the code coverage report currently states that
some part of the code is never hit.

B3P-216
[ticket/216] Fix non-existing array module_column in portal_module

B3P-216
[ticket/216] Add error handling for incorrectly moving modules left & right

B3P-216
[ticket/216] Get full test coverage on move_module_left & move_module_right

B3P-216
[ticket/216] Add method for checking if module can be moved

Also fixed minor issues with incorrect checks for module class 'custom'.

B3P-216
Merge pull request #217 from marc1706/ticket/216

[ticket/216] Remove duplicate code from moving modules in acp and add tests