Add some strictness to tableaddr and dynaddr setup and destroy
functions. Instead of silently ignoring invalid parameters,
assert their correctness. Don't call these functions for all
addresses, but only for table addresses or dynamic addresses,
respectively.
Change may be arguable, since increases number of lines, but
imho, make code easier to understand and easier for future
modifications.