Add arguments to subroutines and logs.

Make stack constructor with different stack. The stack is created from the original stack array, but doesn't know about earlier values on it.
Give subroutine a stack in run method, instead of letting it create the stack itself. The stack given will be a substack.

Add subroutine with argument test: print-sub.

Add logging function in log.h and log.cpp.