Use `eggert/tz` GitHub repo as database source.

Now using the `eggert/tz` GitHub repository as the source for the
database, instead of downloading and unraveling the IANA TimeZone
database tarballs. `eggert/tz` promises to be the de facto unofficial TZ
repository, seeing as how Eggert is one of the traditional maintainers
of the Olson files.

See [unofficial TZ repository on
GitHub](http://mm.icann.org/pipermail/tz/2012-July/018126.html) for more
details on the move from a private SCCS repository to `git` with GitHub
hosting.

This Timezone module will always endeavour to point the `vendor/tz`
submodule to the commit on `eggert/tz` that mirrors the latest official
release.

Closes #134.
Merge branch `eggert-tz` into `master`.
Add `.js` suffix to test programs.

Proof now uses `.t.js` as its conventional file suffix because the Ruby
gem that GitHub uses to determine the programming language a source file
&mdash; Linguist &mdash; will always decide that a `.t` file is a Perl
test file.

The `.js` suffix generally meets the expectations of most tools. The
`.t` suffix looked nice in the reporting, but it wasn't so dear.

One of our tests is written in Ruby. It uses the suffix `*.t.rb`.

Closes #133.
Merge branch `proof-suffix` into `master`.
Delete `.npmignore`.

No longer applicable because we publish to NPM from the `timezone`
directory where we build the `timezone` package.

Closes #119.
Rename `vendor/tz` submodule to `eggert/tz`.

The Eggert name looks reassuring in the directory listing on GitHub,
plus there are no other vendors.
Deleted `notes` directory.

Created a `notes` branch and pushed it to GitHub prior to deleting the
`notes` directory.

The `notes` directory is unsightly in the GitHub directory listing. It
has some crufty writing, an early version of `synopsis.js`, a program
written in Java to test the date formatting libraries of that platform,
and a well written glossary of the format specifiers.

Ideally the writing would get integrated into the documentation and the
Java program could live alone on an detached branch for posterity.
Create `src` directory.

Moved the source files into `src` directory. Locales have been moved to
`src/locales`. I created a new `README.md` for the source directory, to
help people who are browsing the source on GitHub find their way around,
but the base `README.md` is still the one used in the NPM package.

Updated `Makefile` to use the relocated source.
Renamed `zones` intermediate directory to `build`.

Although the `zones` intermediate directory will only ever contain
intermediate files pertaining to timezone data, it is more important to
convey the temporary nature of the directory, more important than
conveying the contents. In fact, you want to play down the contents to
stress the temporary nature of it all.
Reintroduce `.npmignore`.

My new attitude toward `.AppleDouble` directories is to accept their
omnipresence and to ignore them. Instead of having to remember that I
need to delete the little devils before publishing to NPM, I'll use an
`.npmignore`.

Seems a bother to have an `.npmignore` for a module directory that is
the output of a build process. There are no source files to ignore, only
these meta files that exist for the sake of Netatalk. Yet trying to
delete them is whack-a-mole; an omnipresent race condition.

The ability to use my OS X programs on my Linux and Illumos virtual
machines is a boon to my productivity. If I'm going to pay the price for
using Netatalk, I'm going to pay it in full. Could it be that accepting
that hidden directories are always in the way and dealing with them is a
passage of sorts?
Rename `utility` to `util`.

Renamed the `utility` directory to `util` to be consistent with the UNIX
penchant for terse names. The choice of `util` for a terse name is
inspired by the `util` module of Node.js.
Removed global ignores from `.gitignore`.

I've taken to keeping a global `.gitignore` that excludes the cruft
generated by particular environment choices. The project `.gitignore`
contains only those intermediate files and directories generated by the
build process for the project.
Build `timezone` module under `build` directory.

Instead of building the `timezone` module in the root directory, it is
now built as a sub-directory of the `build` directory. It must be named
timezone so that the `loaded.js` module works correctly.
Fix Travis CI minified source tests.

The Travis CI test of the minified source was failing because the
minification step had not been updated to reflect the new location of
the `timezone.js` source file.
Auto-generating `Makefile` timezone targets.

Updated the `Makefile` to auto-generate timezone data module target
names. The `util/tz2deps.js` program extracts the zone names from one or
more IANA timezone database file and outputs a single `Makefile`
variable definition. This is redirected to a `build/Makefile.deps` file
that is included in the `Makefile`. The `Makefile` then defines the
timezone modules names using the zone names.

GNU `make` will build and rebuild `build/Makefile.deps` when it is out
of date. See the **The GNU `make include` Directive** section of
[Advanced Auto-Dependency
Generation](http://make.paulandlesley.org/autodep.html) for details.
Merge branch `directory` into `travis-ci-rebuild`.

Conflicts:
	.gitmodules
	Makefile