Let ssh figure out port/user if not specified so we don't override .ssh/config

Modified by Jonas Borgström:
- Added CHANGES entry
- Fixed broken unit test
Use lockf() instead of flock() when locking repository/cache

This is a reworked version of Petros Moisiadis' original pull request
since some extra effort is needed to support access to read-only
repositories.
Improved error handling/reporting.

Closes #12.
Fix incorrect display of time

Closes #13
Fix timezone issue on python 3.2
Added missing repository path/url when raising DoesNotExist and AlreadyExists exceptions
Merge pull request #16 from Ernest0x/fix_repository_errors

Added missing repository path/url when raising DoesNotExist and AlreadyExists exceptions
Consider segment incomplete if segment file is empty or too small

This fixes an IOError that could be raised when trying to seek() to
a negative file offset, because (for any reason) a segment file was
empty (or too small).
Merge pull request #20 from Ernest0x/empty_segment_fix

Consider segment incomplete if segment file is empty or too small
Fix sorting of segment names to ignore NFS left over files.

Closes #17.
Merge branch 'master' of https://github.com/jborg/attic