Add test case reproducing #590

Non-host /32s don't correctly count to the parent prefix used addresses.
This adds a test to reproduce the error.

Part of #590.
Fix stats calculation for non-host /32s

.. or /128s for IPv6. /32s or /128s (max prefix length) need to be
handled differently due to how the stats are calculated. Before this
change we looked if the type was set to host to determine if we were at
max prefix length, but since we can add a non-host (ie reservation or
assignment) as a /32 or /128, we would get incorrect statistics.

This changes the check to simply check for the prefix length instead of
the type of the prefix.

Part of #590.
Handle upgrade case for fixed prefix statistics

Since previous versions contains buggy code for calculating the number
of used addresses in a prefix when the children were /32s of non-host
type, we need to recalculate all statistics to make sure it's correct
and we add a test to the upgrade test to make sure it works.

Fixes #590.