* parent() return the latest parent now.
+ parent() function to Subkey
  * get the latest parent of the subkey.
+ free() function to Subkey
  * free the hooks on the subkey
  * free all the subkeys of itself(freeSubkeys).
+ name/fullName attributes to Subkey
  * the name means the path.basename(fullName)
  * the full name means the key path. fullName = path()
* Subkey is inherited from InterfacedObject now
+ init/final methods on Subkey
  * these are always called on constructor/destroy.
* setPath() would change instance to another subkey.
  * it would not be cached on nut if setPath(): remove it from nut first.
  * it will try destroy first, then re-init again.
* sublevel.subkey(aKeyName, options)
  + addRef: boolean, default is true, whether addRef() if cached.
  + forceCreate: boolean, default is false, whether create a new subkey always instead of retreiving from cache.
+ destroy event on Subkey
  * it will be trigger when subkey.free()
* update version
+ subkey.alias() and get through alias.
+ subkey.get([options], callback) to get itself value.
+  alias(alias, callback)
   * the alias and key path arguments in alias can be [], subkey, or string now.