Added ssh transport file
Renaming
Adding ssh transport logic
Push working over ssh
Cleanup
Added ssh stream cleanup
Refactoring
Added support for ssh:// urls
Added username and password auth for ssh
Cleanup
Refactoring
Renaming
Cleanup
git_branch_set_upstream with local branches

Currently git_branch_set_upstream when passed a local branch
creates invalid configuration, for ex. if we setup branch
'tracking_master' to track local 'master' libgit2 generates
the following config

```
[branch "track_master"]
  remote = .
  merge = .refs/heads/track_master
```

The merge value is invalid and calling git_branch_upstream on
'tracking_master' results in invalid reference error.

It should do:

```
[branch "track_master"]
  remote = .
  merge = refs/heads/master
```
Merge pull request #1551 from nvloff/set_upstream_local_branch

fix git_branch_set_upstream for local branches
Add GIT_DIFF_LINE_CONTEXT_EOFNL

This adds a new line origin constant for the special line that
is used when both files end without a newline.

In the course of writing the tests for this, I was having problems
with modifying a file but not having diff notice because it was
the same size and modified less than one second from the start of
the test, so I decided to start working on nanosecond timestamp
support.  This commit doesn't contain the nanosecond support, but
it contains the reorganization of maybe_modified and the hooks so
that if the nanosecond data were being read by stat() (or rather
being copied by git_index_entry__init_from_stat), then the nsec
would be taken into account.

This new stuff could probably use some more tests, although there
is some amount of it here.
More tests for files with no newline at end
Improve diff function docs
Fix line numbering for patches with eofnl

When a patch contained an eofnl change (i.e. the last line either
gained or lost a newline), the oldno and newno line number values
for the lines in the last hunk of the patch were not useful.  This
makes them behave in a more expected manner.
Merge pull request #1556 from arrbee/diff-patch-fixes

Diff patch bug fixes