New OTPassword - Based upon 'secure_allocator'.

New STL based OTPassword, comes in two, interchangeable forms.

StringPassword: for when the password is a displayable string.
BinaryPassword: for when the password is binary data.

Both of these formats are interchangeable and share a common OTPassword
virtual bass class.

OTPassword makes use of a new 'secure_allocator'÷ template class that
was inspired from the bitcoin-core (boot dependent) password work.  This
class will allocate and deallocate memory in a secure manner completely
automatically, (if there be no dragons!).

I have also provided a heap of helper functions for both the string and
binary password classes and made use of proper C++ design patens.

The secure_allocator can be used throughout the STL wherever there is
auto-allocation of memory.  However it should be used conservatively.

Please Review.

Cam.