Refactor some Tree constructions in json macro implementation.
Single json macro implementation instead of three very similar ones
Minor refactoring to json macro implementation
language.reflectiveCalls not needed in json macro implementation
Flatten code structure in js macro

(mostly whitespace changes: view with 'git diff -w' to ignore)
Use a proper intermediate data structure for implicits in JsMacroImpl
make scalariform happy
Merge pull request #2853 from harrah/refactor-json-macro

Refactor json macro