refactor: rename getBlockElements to more correct getBlockNodes
refactor: simplify trim fn now that IE9 has String#trim
perf(jqLite): don't check isString many times in constructor

Note: no significant perf gain in Chrome
style(jqLite): remove MiskoCode(tm)
refactor(jqLite): don't look up the entry needlessly
perf(jqLite): don't use String#split in on() unless we need it
perf(jqLite): microoptimization in chaining fn

note: no siginificant difference observed in macrobenchmarks, so this is just to make
me feel better :)
refactor(shallowCopy): microoptimization
perf: speed up shallowCopy and special case Attributes cloning

`for in` is much faster than `Object.keys()` but `for in` includes properties from the prototype.

http://jsperf.com/for-in-vs-object-keys2

All the uses of shallowCopy don't deal with objects with heavy prototypes, except for Attributes instances
in $compile.

For this reason it's better to special-case Attributes constructor and make it do it's own shallow copy.
This cleans up the Attribute/$compile code as well.
refactor: remove unused variables
perf($compile): delay object initialization in nodeLinkFn
style(ngRepeat): fix indentation
fix($parse): remove unused variable declaration in generated getters
style($parse): rename variables in generated code so that code is more readable
perf($parse): trim expression only if string
refactor($parse): simplify addInterceptor fn
refactor(Scope): rename $$childScopeClass to ChildClass to simplify debugging/profiling
refactor(Scope): remove useless compileToFn helper fn
refactor(jqLite): clean up jqLiteRemoveData fn
style(jqLite): rename onFn to jqLiteOn