Add a IssueKey class to support extracting projectKey and issueId values from an issue key.

This is a necessary first step to supporting validation of the issue's
project key seperately from the full issue key.

Issue: #7
Extract the static inner InvalidIssueKeyException class from IssueKey.
Add support for skipping validation of issues that do not match a known JIRA project key.
Add missing log statement.

Without this change, any emitted response exception was not logged.
Add a configuration UI checkbox for the new ignoreUnknownIssueProjectKeys setting.
Handle the 404 responses emitted for missing project keys.
Exclude issues with invalid project keys from all validation.

This fixes a bug in the previous implementation, whereby a commit would
be treated as valid due to validation not being performed on issues with
an invalid project key, but the list of matched issues being non-empty.

Since the list was non-empty, the check for *any* matched issue
succeeded, and the array of errors was empty: the commit was considered
valid.
Merge pull request #8 from landonf/issue-7-project-key-validation

Issue #7: Project Key Validation
updated amps version. updated yacc version to 1.1-SNAPSHOT
updated require committer name/email documentation to reflect new behavior (checks committer, not author, to allow things such as cherry-picks)
added trailing newline after error list to make errors stand out more
added ignore unknown JIRA project keys to documentation
fixed Exclude Merge Commits description on the config screen to clarify that it excludes from all commit requirements, not just require valid JIRA issues.
removed java7 API from IssueKey to make plugin java6 compatible (stash 2.x still supports java6)

added animal sniffer maven plugin to detect >java6 APIs
fixed commit message regex regression caused by the change to JGit to get commit message. JGit adds a trailing newline to message which can trip up regular expressions created in previous version of YACC.