perl/AIM

Supports all the features of libfaim/AIM, except for :aim search;
Net::Oscar seems to not support finding the email address of a buddy.

Overview of things which are different:
 * buddy alias, if available, shown after login information.
 * Buddies get added to autocompletion on login, and removed on logout,
   unless you've sent an IM to them (in which case they stay in
   autocomplete)
 * BarnOwl now supports multiple AIM accounts.  This makes
   addbuddy/delbuddy somewhat limited.  To get around this limitation,
   aim:addbuddy and aim:delbuddy have been included (with extended
   syntax)
 * aaway_msg now defaults to ''.  Additionally, aaway_msg only persist
   until your away status changes.  This is different from the old
   behavior, which was to keep changes to aaway_msg until you ran :aaway
   (that is, setting the aaway variable marked you as away or not away,
   but didn't change your message).

TODO: Decide whether or not to make the backwards-incompatible change of
enforcing a properly quoted string argument to aaway.

TODO: Completion for more commands.

XXX TODO: Figure out why aim:set doesn't work well

XXX TODO: Do more testing.
 Commands that have been tested:
  * aimlogin
  * aimlogout
  * aimwrite
  * alist
  * aim:show
 Commands that have yet to be tested:
  * aaway
  * aim:addbuddy
  * aim:delbuddy
  * aim:chat *
  * aim:set_password
  * aim:set_extended_status
  * aim:set_email
  * aim:set_screenname_format
 Commands that have been tested and do not work properly:
  * aim:set

Includes code written by Geoffrey Thomas <geofft@mit.edu> in his first
take at perlaim in 2008, and code written by Alejandro Sedeño
<asedeno@mit.edu> in his revision of perlaim in 2010.
Rename aim:$command to aim$command
Enforce properly quoted aaway strings

aaway will no longer take your improperly quoted string and treat it
just like you want it to.  This may break some backwards compatibility.
Always properly quote and escape your strings!
Added a subclass of BarnOwl::Message for queuing meta-data messages

Not sure how useful this will end up being, or if this is the right way
to go about doing things.  I use it for queuing chat state
notifications, and it might be useful for displaying
zephyr-client-hint-type responses.
Added support to the default style for viewing chat state notifications

The flavor is based on jabber chat state notifications, XEP-0085.

Meta-messages are queued, and then deleted on update. The use of this
variant vs. display below the sepbar will be controlled by the
appropriate protocol-specific variable.

The default style is tweaked to display these messages intelligently.
Perhaps we should do something sane with other styles...
AIM Typing Status Notifications!

Implemented support for AIM typing status notifications. Typing
notifications are either displayed in the message list or below the
sepbar.
Fixup aim message
Update readme
Partial update completion
Update makefile
Add a TODO
Rename variables to aim:* for consistency

This breaks backwards compatibility, so we may not want this.