Stack.java is the interface for stacks in bailey's library.
AbstractStack.java implements push and pop as calls to add and remove. This will be
the same regardless of implementation, so it is convenient to do in an abstract class.
StackList.java is a linked list implementation of a stack.
StackArray.java is an array based implementation of a stack.