TPCFmtSpells.php: Don't escape spell cards after all.

We needed to do this because spell names are actually sprintf format strings, even though the games never actually take advantage of this. Thus, it should be our goal to *remove* these unnecessary sprintf calls *in Touhou code* and not to work around them, as they have been always vulnerable to buffer overflows.
Refactor file storage to use back-end classes.
Add an SFTP storage back-end.
Cleanup.
TPCStorage: Only write JSON files that really have been changed.

A solution in true PHP quality.

Since we're planning to send these files over half the globe, networking will by far be the largest bottleneck.