Add Tupfile.ini support. Obselete `tup init`

This commit seeks to obviate the explicit calling of `tup init`. When
tup is run, it will now search for both a `.tup` directory or
`Tupfile.ini` files on the path down to the root directory. If no `.tup`
directory is found, tup will consider the directory closest to the root
that had a `Tupfile.ini` file as the root of the project and automatically
call `tup init` in that directory.

To appease the idiom of `tup init && tup upd`, repeated calls to init
will print a warning indicating that tup has already been init'd, but
will still return success.
Remove `tup upd` command in favor of simply `tup`

This commit deprecates the command `tup upd` in favor of the simpler,
shorter command `tup`. Now that `tup init` is not required, there was only
one "basic" tup command remaining: upd. This allows for much easier
migration to tup for refugees from other "build systems", using tup is now
as simple as just typing 'tup'.

The command `tup upd` is preserved for legacy / backwards-compatability
reasons. It is silently accepted.
Update `test/tup.sh` to accommodate init, upd

None of the tests failed (on OS X at least), but these changes eliminate
the large numbers of warnings that printed.

Test t0001 is updated to create a Tupfile.ini in the custom init
directory that it creates.

Test t7052 is updated to expect the monitor to run twice, as it detects
the call to `touch Tupfile.ini` from the test framework.