Fix source deps bug in dependency analysis.

- Not all dependencies were getting computed correctly, because the source_deps section
 of the analysis relations file wasn't getting used. (It was removed because it appeared
 to be redundant, and caused some trouble with error message generation.) This reinstates
 source_deps in the analysis.

Auditors: benjy
Dependency analysis fixes.

- Add a filter parameter for eliminating missing dependency errors that
  shouldn't be reported.
- Only return missing dependency errors if they were reported to the user.
- Throw exception when missing deps are detected.
- Eliminate redundant retrievals of parameters.

Auditors:  benjy
Address review comments.
Merge branch 'source-deps-fix'
optionally autokill nailguns
Merge pull request #17 from tinystatemachine/master

Option to automatically kill nailguns before exiting
Release the lock before running tests.
Fix bug in dependency checking.

Auditors: markcc
Ignore .pids dirs.
Generate error for classes without package.

The implementation of zinc rebase/split/merge requires that all scala
source files have declared packages. In the current code, when a user
builds a scala source file without a package declaration, pants crashes
and dumps its stack with a "No such file or directory" error.

This change adds code to detect when a compilation produced a class
file without a package, and generates a comprehensible error message.

Auditors: benjy
Remove debugging print.
Remove temp analysis files.

Pants was leaving temporary analysis files, which was clogging up the
tmp directories on dev machines.

Auditors: benjy
Correct fix for undeleted analysis files.

In scala compilation, pants generated temporary files during
the process of merging, splitting, and rebasing analysis files.
These files weren't being cleaned up correctly.

This change fixes the two reasons for the lingering files:
(1) Zinc generates two kinds of analysis files: java serialization files,
  and textual relations files. In some operations, the serialization files
  were being cleaned up, but the textual relations files.
(2) In some cases, the automatic temp file cleanup used for
  removing the analysis files when they are no longer needed
  was disabled.

In manually observed test runs, no analysis files were left
after pants completed.

Auditors: benjy
Cc: tdyas
Merge branch 'zinc_tmp_cleanup'
Bugfix: Sometimes stack frame info will have no code context.