lua : make typeid functions actually be typeid based and not name based
lua : create a generic way to handle singletons

we have enough of these that they deserve proper handling
lua : only have ipairs if we have len
lua : remove a stray \n in preference description
lua : when introspecting in debug mode and an object has no metatable, report it