fix case sensitivity in _samefile

_samefile should be case-insensitive on case-insensitive file systems
(e.g. Windows). This way sameModule will not re-import and overwrite
modules that are already imported.
This fixes #19
test errors against BaseException in capture.py

addCaptureToErr in capture.py is formatting exceptions that inherit from
Exception but some exceptions inherit from BaseException (e.g.
SystemExit).
In any case, addCaptureToErr should not fail if the exception was not
formatted so ev must be ensured to be a string.
This fixes #612
getpackage in util.py should only parse files and packages

Directories that end with .py but are not Python packages should not be
parsed as if they are modules.
getpackage now verifies that the path is either a .py file or a package.
This fixes #526
Merge pull request #625 from Infinidat/master

Fixes for issues: #19, #526, and #612
A few more updates to the CHANGELOG.