bugs squashed (yay!), generating symmetric key, encryption successfulall:

all:
- removed newlines wherever I saw them in verb output calls (it does it
internally)
- debugging output changes (where not specified)
- using new thread_manager method with thread types (see
thread_manager.cpp below)

crypto.cpp:
- fixed fun bug where class was being instanced on stack at wrong scope
- added destructor to class for clean exit
- changed wait_thread_ready to use pthread_mutex_trylock to prevent
blocking
- changed generate_session_key to use PBKCS5_PBKDF2_HMAC_SHA1, which is
the preferred method for symmetric key encryption

debug_output.cpp:
- fixed a bug where it wasn't tracking path properly, so it would
briefly write log to a few different places
- moved print_backtrace in

files.cpp:
- changed method to where verb outputs function name

parcel.cpp:
- deleting Crypto class instances on way out
- Crypto classes now instanced with new so they don't go out of scope
anymore
- Fixed output of remote/local sender/receiver (was printing it wrong
was all)
- g_opts.socket_ready now set properly in start_transfer

thread_manager.cpp:
- Changed handling of RegisterThread/GetThreadCount/CheckForExit to take
a threadType, which is now used to determine whether threads can exit.
Right now, THREAD_TYPE_1s will not exit if there are any THREAD_TYPE_2s
running, so we can have threads that wait for other ones that are
dependent on them to exit first. It's hard coded for those two types
right now, but could be refactored to handle more.

udpipe_threads.cpp:
- auth_peer put back in