Added optional reason to the ignore feature.

In multiplayer, this supports players to associate a reason with ignored users that is displayed with the ignored username. Resolves http://wiki.wesnoth.org/EasyCoding#Add_possibility_to_give_reason_for_.22ignore.22.
Improved friends storage system to store "acquaintances" as separate children.

The current attributes are status (either friend or ignore), the nickname, and any attached notes.
Don't need to escape the reason anymore with new storage system.
Added notes for friends.
Started total_defense scenario and micro_ai.