v0.86.f: OTLog cleanup, new OTSettings and OTPaths

**** Requires GCC 4.6.0 ****

This commit depends on GCC 4.6.0 (or greater). The main reason for this is
smart pointers, (allowing making the OT much more secure and reliable).

Unfortunately, I have not been able to support older compilers than GCC
4.6  -  This is from no lack of great effort.   I was able to get it
working with GCC 4.4, however GCC 4.5 was broken.  There work-around would
have crippled much of the C++x11 features; so there would be not much
point in moving to features C++x11 anyway.

I made the choice to just make a clean break and only support GCC 4.6.
This will allow us to make use of much of the C++x11 features;
additionally remove any dependencies on BOOST (initially only for UNIX,
however in the future for Windows as-well)!!

In this commit itself we have a new OTSettings class, that makes life much
easier and cleaner than having all the settings code sit-around in OTLog.
The same thing has been done with the new OPaths class, the functionally
of this class used to be in OTLog.

I guess this will be somewhat of a special commit to be accepted by
FellowTraveller's  (When it is/if it is) as the first C++ work that I
did for OT (or any project ever) was the Settings and Paths code.  In this
commit I have finally got it to the stage where I'm "happy"÷ with it.
(Well at least it is now "good enough").

Cam.
Fix:  Use constructors and destructors for OTCrypto

Initialization and cleanup now automatically performed by the constructors
and destructors.
v0.86.g: Much greater use of smart pointers

api now loading..

Now passing some more smart pointers arround

more work

now all member pointers of OTClient are unique, and not shared

kind-of-working

market screen is now working!

OTLog is now just a logging class

otapi now comiling, lots more testing and bugfixing to do

moneychanger now working on windows

otserver now compiling

moneychanger working

fixed bugs from rebase

updating linux install docs and makefiles

replace simple_ptr with std::shared_ptr

update simpleIni and more bugfixes

level 4 warnings on for msvc, and some fixes

removed weak_ptr for gcc 4.4

more gcc4.4 fixes

install guide fixes and paths fix
v0.86.h: Netbeans Project for Debuging on Linux
v0.86.i: Many bug fixes for linux and cli/c++

fixed scripts path bug

some script fixes

more script fixes for int64_t to string

rebuild swig wrappers

maybe a nullptr fix for gcc 4.5

moved to VC11

updated windows documentation

updated swig project to VC11
v0.86.j: Pid file now automatic for OTAPI

updated pid file to be dependant on the context, and project fixes
v0.86.k: New Password Callback, and other Bug Fixes

New Callback System and New Swig

new password callback, and swig cleanup

new password callback and cleaned up swig
v0.86.l: Check Hash for Wrong Passwords.

OT will now detect that a password is incorrect (once the check hash has
been built).

On finding that a password is wrong, it will simply prompt for the
password again. (instead of the old behaviour of asserting and quitting).

passwords are now checked before they are used
v0.86.m: Always atempt Password 'test'.

The password 'test' will automatically be attempted before showing the
password prompt to the user.

This will allow automated systems to use this password (where the system
itself is secure, but no-human interaction is possible).