Squashed commit of work to make Jasmine a collection of isolated modules. Note now that in our test suite, "jasmine" now always refers to the build jasmine loaded from jasmine.js and "j$" always refers to the code in the src directories.

Also, dev_boot.js is now a copy of boot.js and has additional changes to load jasmine the second time, into the j$ reference.
Squashed matchers refactor - matchers now unit-testable apart from Expectation and Spec.
Adding spec to cover equality of frozen objects, per GitHub issue #266
[Finishes #50607273] - added specs to cover the cases from GitHub issue #371
Last commit did not include self-test with Any and ObjectContaining in separate files. Fixed.
Matchers & Matchers specs now broken up into individual files. There is now a requireMatchers jasmineRequire function to attach matchers properly.
Breaking out Spies into their own source file
Simplifying toThrow:
- It still supports no expected, which means that something was thrown
- Expected value is now tested via equality in order to pass

Adding toThrowError:
- toThrowError() passes if an Error type was thrown
- toThrowError(String) & toThrowError(RegExp) compare Expected to the Error message
- toThrowError(Error constructor) compares Expected to the constructor of what was thrown
- toThrowError(Error constructor, String) & toThrowError(Error constructor, RegExp) compares both the Error and the message

Also, equality now handles Errors, enforcing the message as part of the equality.
Fixing red build. Not sure why, but this spec was green in Chrome and Node.js
Remove use of getElementsByTagName and getElementsByClassName

Replace calls to these functions with querySelector and querySelectorAll
Fix spec to throw error, ensuring a stack property

In Safari Mac 6.0.4 (and possibly other versions), a new error does
not have the stack property. Throwing the error and then catching it
ensures that the stack property has the correct value.

This fix gets the specs to run green in Safari.
Avoid instantiating passed in errorType in toThrowError

since the passed in errorType could be a custom user function,
we instead detect if its an instanceof Error by using a Surrogate
(inspired by Backbone's use of surrogacy)
Merge pull request #378 from sheelc/toThrowError_modifications

Avoid instantiating passed in errorType in toThrowError
Fix up my refactoring mistake in toThrowError

strengthen the associated tests to protect against it in the future
Merge pull request #379 from sheelc/toThrowError_fixup

Fix up refactoring mistake in toThrowError
Merge pull request #358 from sheelc/safari_exception_fix

Fix spec to throw error, ensuring a stack property
Merge pull request #369 from sheelc/query-selectors

Query selectors
Remove unused formatException from util

The ExceptionFormatter is used instead of formatException from jasmine util
Merge pull request #383 from sheelc/remove_format_exception

Remove unused formatException from util
Add execution time elapsed to JsApiReporter

Since this information is desired in ConsoleReporter, HtmlReporter,
and now JsApiReporter, the executionTime is passed through in
jasmineDone from Env instead of making each reporter compute it.

Fixes #30, [Finishes #45659879]