Correct extraneous trailing periods and spaces

The `<layout/>` already specifies `suffix="."` and for the consecutive periods to get collapsed into one period the periods must not be followed by trailing spaces.
Accommodate missing volume or pages

Sometimes a reference may not have a volume, or it may have a volume but not (yet) pages. Don't let this result in trailing extraneous periods or colons.
Removes trailing period by last elements 

As per @adam3smith's suggestion, removing the trailing suffix periods from those elements that are last in the group, as those would otherwise have to rely on consecutive periods getting collapsed into one, which can easily break by trailing spaces etc.
Merge pull request #820 from hlapp/patch-1

Correct extraneous trailing periods and spaces