updates

Heavy work to hash method: callWithCopy prototype method to avoid
mutating arguments, better array building for expand method, flatten
accepts recursion depth, parseResponse handles validation errors that
are returned and displays via displayErrors method