Remove a silly array wrapper class in factor of std::vector.

Could be refactored more heavily, but then again I'm scared of bounds checking vector implementations...
The only requirement for `clear()` is that `empty()` returns true after it has been called. (§ 23.2.3)
I was unable to find any guarantees about its capacity in the standard draft document (n3337 source: https://github.com/cplusplus/draft/blob/n3337/papers/n3337.pdf).