It is possible to make objects that will stay with a player, we call them
autoloading obejcts since they are loaded and cloned to the player each time
he logs on. Such items should be rare but sometimes called for. Guild items
are good examples on this, coins another.

To make an object autoloading all you have to do is define the function
query_auto_load() in it. The function should return the filename of the
object. Thefile name should end with a ':'. Typically the function could
look like:

    string query_auto_load() { return "/std/coins:"; }

In the case of coins, it would be good if we saved how many coins and what
type of coins the player had too. It is possible to save these variables 
by adding text after the ':'. The ':' is there, simply to separate the
filename from the variables saved. The improved function would be:
    
    string query_auto_load() { return "/std/coins:" + num_heap() + "," +
		coin_type; }

We need a way to restore these variables when the object is autoloaded again.
The function init_arg(string arg) will be called when an object is autoloaded.
The <arg> is what was put behind the ':' in query_auto_load(). So to restore
the number of coins and coin types we would have init_arg() look like this:

    void
    init_arg(string arg)
    {
	int sum;
	string ct;

	if (sscanf(arg, "%d,%s", sum, ct) == 2)
	{
	    set_heap_size(sum);
	    set_coin_type(ct);
	}
    }



Note that objects can survive reboots too. It's a more modern version of auto-
loading objects. We call these objects recoverable. The functions to use in
this case are:
	string query_recover()
	void init_recover(string arg)



