move %FAI::commands, $FAI::n_c_i and push_command() from Init.pm to Commands.pm

Conceptually push_command() and order_commands() belong together.
add unit test for push_command()
provide new function get_commandlist()

The intention of this function is two-fold. On the one hand it provides
a way to retrieve the 'pushed commands' without having to access a global
variable. On the other hand it transparently converts the command hash
into a simple list.
extract partition table dependency update into separate function (1/2)

This patch is an intermeditary step to keep the edit minimal.
add unit test for update_ptable_deps()
extract partition table dependency update into separate function (2/2)

Update unit test input and remove call to update_ptable_deps();
order_commands() does not modify %FAI::commands any longer

The compatibility layer for the old calling convention has been removed.
Please use the function's return value instead, which provides a sorted
(and filtered) list of all the commands that must be executed.
replace %FAI::commands with lexical variable @commandlist (1/2)

This patch uses a translator to convert %FAI::commands into a suitable
list (to avoid having separate bugs in the implementation and the updated
testdata cancelling each other out).
numerically sort hash keys (prepare for conversion into a list)
replace %FAI::commands with lexical variable @commandlist (2/2)

Update testdata to provide unsorted commands as a list and remove the
translator.
visual cleanup: re-indent testdata
remove obsolete variable $FAI::n_c_i from testdata
remove unused code for 'restore_partition_table()'