stack: adds stack_top(), reformat code.
stack: Adds Test which expect generic functionality
stack: Uses void * to allow any data type in stack