chore(Rakefile): use exec for webserver

exec unlike system replaces the current process. this way when we kill
the webserver process we don't get scary looking 'rake aborted' error
chore(Rakefile): misc_options should support + -> , conversion
chore(test): add junit config for testacular
chore(Rakefile): paralelize closure compilation

this speeds up the build by paralelizing closure compilation (the slowest
piece of the build process)

before:

real  0m14.372s
user  0m31.649s
sys   0m1.006s

after:

real  0m8.191s
user  0m40.473s
sys   0m1.378s
chore(Rakefile): tune JVM for closure compiler

Using the client VM and forcing 32bit mode gives us huge perf boost.

before:

reali   0m8.173s
user    0m39.984s
sys     0m1.408s

after:

real    0m3.000s
user    0m12.687s
sys     0m0.852s
chore(Rakefile): remove test_out dir when cleaning
docs(tutorial): replace JsTD with Testacular + drop snapshots

JsTD references have been replaced with Testacular stuff.

snapshots are PITA to maintain so I'm dropping them, everyone loves the Git
version anyway.
chore(jstd): remove JsTestDriver from our repo

Testacular FTW!
chore(jasmine): remove Jasmine from our repo

it's bundled with Testacular, so we don't need it here
chore(validate-commit-msg): allow * and - in scope string
chore(jstd-scenario-adapter): remove from our repo

since we don't need the adapter for JsTD (testacular contains its own),
I'm removing this dead code.
docs(contribute): add visible link to github project
docs(contribute): add CLA note to code submission section
chore(check-size.sh): fix rake target
doc(faq): Fix minor spelling and wording errors
doc(faq): Add Common Pitfalls section

Describes several common pitfalls new users of Angular fall into that
I've observed in #angularjs.
fix(currency): Handle not-quite-zero values

IEEE 754 floating point sometimes results in values that are very small,
rather than zero. One example is 1.0 + 1.07 - 2.07, which returns
4.440892098500626e-16 instead of 0.

This change tweaks the number formatting logic so that an exponential
value with a negative exponent that is larger than the precision+1
returns 0 instead. For example: with precision 2, anything with an
exponent of -4, -5 or more would become 0. 9e-3 = 0.009 = 0.01, but 9e-4
= 0.0009 = 0.001 = 0.00. This detail is unlikely to matter since this
quirk is usually only triggered with values very close to zero.

Closes #1469
fix($compile): prevent double attr interpolation w/ templateUrl

This fixes the issue that caused two attr interpolation observers
to be registered for the same attribute as a result of isolate
scope definition with attr (@) property for this attribute.

Duplicate observers would then fight with each other updating the
model.

The issue occured only when this directive was used in a repeater
because that's when we clone the template node which caused the
two observers to point to two different sets of $attr instances.

Closes #1166, #836
refactor(): simplify nodeLinkFn
style($compile): better fn names for debugging