Improve Source field consistency in TLO upload forms

The TLO forms are very inconsistent when it comes to Source fields. Some are missing Source Method, some Source Reference, and some all three. Additionally, sometimes naming of the fields isn't consistent. This PR makes all TLO upload forms have Source, Source Method, and Source Reference, in that order.

Additionally, when uploading Emails, the Method field was always set to "Upload". This isn't very helpful so I have included the type of upload like we do for Samples. So using the YAML upload form will now result in a method of "YAML Upload". If the user provides a method, it will be included as well, again, in the same way as Samples.

Lastly, I modified the add_source function such that if a method and/or reference is provided to the function in addition to a Source object, the method/reference will be used instead of just ignored. The logic being, why would someone pass a method/reference if they didn't want to use it?