Save the transparency header by default for PNGs

This is a change in the default behavior.

For PNG files in modes L, P, RGB, prior behavior is to only save the transparency header if it's passed in in the encoder info. If the image is not in one of these modes, an error is raised. 

New behavior is to first look in eocoder info, and then the self.info dict for a transparency value. If the user specifies a transparency in encoder info, enforce the mode restrictions, if not, then just don't write the transparency if it's an invalid mode for transparency. 

This was mentioned as an issue in #423