Change the directory structure of the project.

Moved the js/ directory into app/js and test/js. When the tests
are compiled then the app/js contents will be copied to out/test/js
(along with test/js).

Cleaned up a couple parts of the Makefile (more to come).

Also moved third_party/qunit-1-* into test/deps/qunit/qunit-1-*.
When my package manager 'tavern' is complete then it will place
all external dependencies (like qunit) in a similar structure
(at least symlinks to a local cache). This will also have the
interpretation that external code is separated from internal code.

Both the app/ and test/ html files will now reference 'bitmapper.js' which
is the compiled output of the necessary JavaScript files. This means that
neither app/ nor test/ can be loaded as a packaged app, they must first
be compiled to out/app or out/test.

Moved closure compiler to the build/ directory. Later build/ will store
the closure compiler, the application's externs.js file, and also
a chrome_extensions.js (an externs file for the chrome.* APIs). Also this
means the compiler.jar will not be removed on clean (and clean can
be rm -rf out/ ). The .gitignore has been updated to handle the contents of
build/ that should not be under source control.

R=calamity@chromium.org, mgiuca@chromium.org

Review URL: https://codereview.appspot.com/34470043

Patch from Patrick Laub <pajamallama@google.com>.