The diff views now highlight (added) trailing whitespace

Closes #12
Add git/config as possible file type.

Allowed per http://git-scm.com/docs/git-config#FILES.
Add proper escapes to unquoted string values

This fixes the issue in #16 where you may need to use a quote character without starting a quoted string context. Allowable escapes taken from http://git-scm.com/docs/git-config#FILES
Use version 1.8 of ruby for bundle items

10.7 and 10.8 only include ruby 1.8, so all bundle items have been written to work with that. Optionally supporting ruby 1.9 and 2.0 is problematic as these versions are not fully backwards compatible.

#ignore
Rewrite status parser

Now uses git status --porcelain to make the plugin  work with Git 1.8.5+ and older versions
Change fixture data to match the new parser
Change regex to match current and older versions of Git
Decode escaped characters in the file list parser

See ddb634dc for details.
Scroll to proper position in annotations

If there is a selection instead of a single line, use the first line in the
selection range.

Takes offset from the navigation box into account and scrolls
to the first row of the commit (scrolling to the **selected** row is
pretty useless, as there is no author or revision info if you are in
the middle of the document).
Paint the cursor position border if multiple lines are selected

When multi cursors and zero width column selection is involved, there are some edge cases where the border does not include the last selected line in the document. But I guess this implementation should be good enough.
Fix a typo which produces an unknown local variable error
Fix for the diff action in the commit window

Starting with mate 2.5 it will not read from standard input if the TM_DOCUMENT_UUID environment variable is set. This is unfortunate for commands launched by TextMate (where the variable is set) that use mate to pass data to TextMate (via mate’s stdin).

This fix is provisional until a new version of mate gets released.
Allow comments in commit message area
Require comments to start a line
Correctly determine working copy root when inside submodule.

This fixes error messages like "fatal: '/path/to/file' is outside repository" when using the bundle with git submodules.

`Git.path` assumed that the git dir would always be located directly below the working copy root. However, this is not (no longer?) true when working with submodules: The git dir of a submodule is nested inside the parent project’s git dir.

Using `git rev-parse --show-toplevel` (available since Git 1.7.0) figures this out correctly, even for submodules.

Similar incorrect code existed in `Compare Branches.tmCommand`. This was dead code however (`path` not being used anywhere afterwards), so I removed the line there completely.
Fix typo in Parsers#parse_status_hash

Make spec "should parse a status document correctly" (`lib/commands/status_spec.rb`) pass again.
Add Gemfile to document RSpec version requirement.

Specs need to be run with RSpec 1.
Fix specs.

Git commands like `status` and `log` are now called with additional parameters, so I updated `Git.command_response` mocks accordingly.

Also there were some problems with redefined constants and nil strings that seem to be related to Ruby versions > 1.8 (fixes should be backward compatible, though).

I commented out "should auto-expand the path when filtering to a relative path" (in `lib/commands/status_spec.rb`), as this feature was (accidentally?) removed in 8ecadc8fb26.
Make parameter to Git#git_dir optional.

`paths.first` seems to be a reasonable default value.
Fix Branch#current_name for submodules.

The fix is simple: Just use `Git#git_dir` instead of assuming that the git dir is `#{base_path}/.git` (which is not the case when working with submodules).