Create SpiralMatrix.java

Given an int[][] matrix, a starting x position, and a starting y position, print the list of integers created by spiraling counter-clock-wise through the elements.

This code will return the res[] array in at most 4*N = O(n) steps, where N is the number of elements in the matrix.  The worst case scenario occurs when the starting element is on the upper left corner of the matrix.  Performance improves as the starting point approaches the center of the matrix.

Performance could be improved by having add() return a boolean to indicate if it's successful.  If it fails, stop the for() loop and instead add the remaining (step-i) to posX/posY.  Since the runtime is already asymptotically optimal, I didn't add this to the code.