Fix #783 - Narrowing in storage_size settings

storage_settings of dynamic size was set to -1, leading to a
narrowing error in C++11. As this default value is purely
informative, it has been set to 0ULL instead. Associated
assertion has been modified to comply with this new semantic.
Moreover, unit tests were amended to compare to 0ULL instead of -1.