New more secure OTPassword.

In this commit I introduce a new version of OTPassword that relies
upon std::container(s) for allocation and deallocation.
To maintain security, the each std::container have been the overridden
by a new secure std::allocator.

All OTPassword functions have been rewritten to be length-safe
so that buffer overruns are no longer possible. We have automatic
conversions between secure std::vector<uint8_t> and secure std::string.
updated swig for new OTPassword class.