Rename "nil" to "nil_type"

*nil* should be a value, not a type. The original naming comes from the rather unfortunate lua_pushnil which does not push *a nil*, but rather *the nil* :)

This PR renames nil-the-class to nil_type and provides a value for nil for the user, so that 

 - We can avoid confusion about nil being a type
 - People don't have to write lua::nil() which was kinda weird