Separate special appinfos from the regular class

The parent AppInfo class doesn't need the methods particular to the
special backups. Moving them to their own class is a step towards
proper polymorphism in the backup and restore methods. This will
eliminate the need for checking the special flag all the time.