General cleanup of editor code.
Add fix to MoveOrReplace to handle copying across different partitions on Mac/Unix as well as Windows (The comparison of PathRoot only works on Windows, so on Mac/Unix blindly performing the move will ensure success even if it might be unnecessary).
Added CaseInsensitiveString struct and applied to IPonyIniSerializable.Name. Using this should help ensure the correct type of string comparison is done in more places. Had to refactor a bunch of code to allow for this change. Found some code doing a case-insenstive comparison where a case-sensitive comparison should have been used, and so fixed those.

Effects can no longer be specified as follow targets in .ini files due to naming ambiguity issues. Internally, an effect may be manually set as a target (for use in games).
Added a Count property to PonySelectionControl so the constant reparsing of the pony count text can be avoided. Added some additional checks to limit range of values that can be used.
Changed editor to re-determine the link order when linked behaviors are changed. Sped up this code as it was on a hot path - main improvement providing the string to the RowCollection.Add method rather than setting after the fact as the grid's internal faffing with cached rows makes setting really slow.
Added OnlyOrDefault LINQ methods - like SingleOrDefault except providing the default value in the both non-single cases, rather than throwing if more than one match is found.
Changed AnimationLoopBase to explicitly handle queuing of add/removal of sprites, and do this during the update cycle. This fixes a bug with using the AsyncLinkedList which would add/remove at a non-deterministic time, possibly between the update and draw calls, and thus cause everything to fall over horribly.
Fixed a bug introduced with house visitors - the special "all" string is case-insensitive.

Fixed a bug introduced to the editor when loading behavior names into comboboxes.
Fix follow target in .ini files to use exact casing in many instances.

Fix a few broken follow target references in .ini files.
Created common method for reliably setting wait cursor.

Undo casing fix for allow moves - as this text is saved to disk and thus cannot be changed.
Remove AsyncLinkedList.
Remove IComparable(Of String) on CaseInsensitiveString to remove ambiguity of interface implementation. Kept method overload however.
Added some extra exception handling attachment hooks in ApplicationEvents. This is because mono doesn't seem to fire the OnInitialize method (on Windows, anyway).
Tweaked and added the GifAlpha and GifFrames forms to the editor.

Ensure ShowDialog was called with an owner where possible.
Tweaked a few form designs to ensure a sensible start position (usually CenterParent).
Cleaned up ImageCentersForm.
Separated DesktopPonyAnimator into two classes. The base PonyAnimator class is used for basic pony animation. DesktopPonyAnimator then extends that with the custom context menu and other actions. The EditorPonyAnimator class then inherits the base to avoid the unrelated junk it was inheriting from the desktop animator. A simpler and more appropriate context menu is now also provided.