refactored merge to use groovy jsonslurper's list and map.
updated merge logic to:
- not update an array with source elements unless complex
- maintain target map and list elements
removed redundant methods from merge logic.
remove redundant test script.
added argument checking so target source can be added from command line.