Supports setting the retain flag on published messages

Hi, 

I sometimes find it useful to publish messages to a MQTT broker with the retain flag set. This saves clients having to wait for a new message to be published, they always get sent the last retained message upon connect, if the retain flag is True. This makes this PR makes that a user configurable option in weather.ini. If nothing is set it defaults to not publishing retained messages and doesn't require the user to do anything. 
This logging message appears to be wrong. Why not replace lines 299 to 303 with one line:
`retain = retain == 'True'`