Fix duplicate reporting of docstring errors; module docstring checks

This change fixes two problems.

Firstly, if there is an error in the docstring of the class or def
that appears first in the module, the error is reported twice on
the same line.

When checking for 'docstring' related checks, the 'parse_docstring'
method was returning the docstring of the class or def that appears
first in the module, instead of the module's docstring.

Secondly, if the module docstring is invalid, for example the first
line does not end with a period, or is multiline and does not end with
a blank line, errors are not reported.

Fixes #18
Fixes #37

Change-Id: I38582f0369592c5c44db50ea4815f2f44cdedd81
Signed-off-by: David Pursehouse <david.pursehouse@sonymobile.com>
Fixes GreenSteam/pep257#44 to allow summary line to appear on second line.
Merge remote-tracking branch 'upstream/master' into summary-on-second-line
Merge pull request #45 from artloder/summary-on-second-line

Fix to allow summary line on second line
Merge pull request #36 from dpursehouse/duplicate-errors-for-docstrings

Fix duplicate reporting of docstring errors