Merge pull request #4 from evennia/master

Update from original.
Made cmdsethandler report syntax-errors in a more informative way.
Fixed a bug with creating Player from admin. It is hard to add permissions (these are Tags with a special subsetting). This makes the admin not very useful for creating players at the moment.
Renamed evennia_webclient.js to evennia_ajax_webclient.js to match the script name in the html file.
Run Migrations! Made Tags unique based on the combination of their db_key, db_category AND their db_tagtype fields.
Updated create.create_object to be faster. Made AttributeHandler.add() handle bulk-adding of Attributes and with a slightly more efficient way to create new Attributes.
Some cleanup and making unittests succeed again
Implemented src.utils.spawner along with a test command @spawn. This allows for spawning individualized objects based on a prototype dictionary rather than having to make a new Typeclass for small changes. Allows for setting basid properties as well as Attributes and NAttributes. Supports prototype multiple inheritance (see header of src/utils/spawner.py)
Made the spawner more streamlined, and allowed the @spawn command to access prototypes in a file specified by the optional PROTOTYPE_MODULES setting.
Finalized the spawner API and made the @spawn command also take prototypes directly, e.g. @spawn GOBLIN.
Added recursive loop-detection to the spawner. This should avoid accidentally creating infinite self-references in prototype structures.
Made WHO display Player info, not Character info to un-privileged users, and give more info to privileged users. Resolves #518.
Changed how Tags and Attribues cache and track which objects they use, as suggested in #529.
Changed how lazy-loading of handlers work, using a werkzeug recipe. Much more efficient now.
Started moving tag/attribute handlers to TypeObjectManager as per #529
Fixed outbut listing bug in @set.
Added at_post_disconnect() hook to Player, to allow for clean deletion of players at disconnect (for example for Guest-account implementation)
Added spawner.spawn to ev.py
Merge pull request #8 from evennia/master

Update from original.
Guest Functionality

Allows for guest logins by entering 'connect guest' at the login screen.
Cleans up after itself but does not yet clean up stale guests from a
system crash.