disallow renaming key if locked

added new enums for locking
keyNew allows to lock
keyLock allows to lock

keyset automatically locks key on insertion

old non-existing ksNeedSort removed (from kdbprivate.h)

ksDup() removes previous properties regarding locks and makes key
unsynced again (even though that might be overly pessimistic, it
marks the key which caused the keyset to get unsynced)

use bit macros

correctly duplicate keys that are modified in backend.cpp
	(found that bug by now having the runtime check)

made keyset tests complete (100% API coverage)

fixes #14