Allow service to return empty file names

Checks the filename return value from the services' record
implementations to see if they actually return a filename before adding
media or updating notes, per issue #14.

(cherry picked from commit 484d062a2e78c702c37118fdefcab993f9a1d94a)
Remove dead call to service from file generator

The service's filegenerator_run was actually called twice from the file
generator, with the first call's return value being ignored (resulting
in the creation of unused files).

(cherry picked from commit d88ef8107815098117d31ca4df26b07d11a37366)
Only write notes when changed in mass generator

The call to the note's flush() method only needs to happen when the
destination field's value is changed (i.e. after successfully reading
from the source field and receiving a response back from the service
implementation).
Improve statistics for mass generator

With services now able to return empty filenames, the statistics need to
be fixed up to reflect this, and not just assume that notes without
field errors were all successfully processed.
Add note for future improvement for previewing

While AwesomeTTS does not currently ship with any services that
sometimes cannot play a given bit of text, once it does, a convention
should be started for the correct behavior when previewing something
that cannot be played back (e.g. returning False or throwing an
exception).
Use warning box for mass generation failures

If at least one note in a mass generation set fails, use the warning box
rather than the regular vanilla info box.
Display warning when adding media fails

When attempting to add TTS audio media to a card, if the service returns
nothing, then warn the user as such when closing the window.
Merge branch 'add/relaxed-records' into develop

Adds basic support for the mass generator and single file generator
forms to correctly respond to services which might not return filenames
for certain bits of text.

The preview and on-the-fly functionality is left alone with this update,
but might be adjusted in the future to provide some sort of notification
that a service cannot fulfill some given text.

Fixes #14 on the pull request list.

Conflicts:
	awesometts/main.py