Dragnar - Shop Daemon - /obj/daemons/shop_daemon.c
--------------------------------------
Daemon handles all of the functions of selling/buying/listing items.
Calls functions in previous_object() so messages can be customized.
In most cases previous_object() should be the object that is calling
the daemon, i.e. the shop room or a bag. 

Example is:
/rooms/shop.c
/players/saber/stuff/mbag.c

List functionality is not limited to shops.  I also use the list
functionality to show contents of a container Example:
/players/dragnar/WalkingDead/obj/rucksack.c

Sell
-------------------------------------
* By default will not sell equiped/kept items
  * Can override by using ALL instead of all
* Will sell contents of containers when selling all
* Ability to sell all from <container>
  * sell all from bag
  * sell scale from bag
* Allows player to sell all <itemname>
  * sell all shakes
  * sell all scale from bag
* Allows a special pricing function to be called
  to override the max selling price.  Allows a simple
  way for wizards to implement functionality like Eurale's
  Warp bartering.  Items are always destroyed in this case.
  Shop room query_value_func() defines the name of the function
  which will be called in the item being sold. See WalkingDead
  shop for an example.

List
--------------------------------------
* No longer limited to having only 1 item.  will display # available.
* Can list by type: armor, weapon, heal, misc
  * Armor does not check AC, so users will no longer be able to determine AC 0 items
* Can list by ID
  * list <itemname>

Buy
--------------------------------------
* Buy by name of item or # (index + 1)
