---------------------------------------------------------------------------------------------
  Description of how keys work!
---------------------------------------------------------------------------------------------

All keys and locks must have this cprop:

  keyid  [string]      ->   whereas normaly if the keyidstring of a key matches that of a lock,
                            a match is found and the target object can be locked/unlocked.


Optional locks can be "sealed" to reserve items for special purposes (not to accidantly unlock)

  seal   [struct]
    .type == "vendor"      this is a chest, sealed by a vendor to use it as a warehouse!
                           this adds the following members:
                             .npc == array{serial1,serial2,...}; array of npc's selling of this box!
                             .gold == integer; amount of gold available for trading in this box!
                             
If a chest is sealed, the key WILL NOT OPEN it... instead, a corresponding script will be 
triggered!!! Most sealed objects will be special containers that would mess up by unlocking.
What script is launched can be configured seperately for locking/unlocking in the configuration
file called   ../keys/speciallocks.cfg

---------------------------------------------------------------------------------------------

DEVNOTE: 

What the content of the key is, has not been decided yet - it could have numbers to symbolize
cylinders or unique serials - but there is no necessity that a key might not unlock something
else as well - if only enough digits are used, chances are real low ffor that to happen in the
first place.

ADDON PLANED: I'm thinking to change/add that if the lock string is included (not matching) the
key string, it will also work.... this would allow for a "master" key to unlock various locks.

