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>