Added list of perl modules to README

I added a list of the perl module dependencies.

I also removed the 'use Carp' directive from 'plaidjoin.pl', since Carp
is never used.
Reformatting README file
More formatting changes

Messing around some more with the README file.
Cleaned up code

I removed 'correct_idmap()', as I have no use for the code and no way of
testing it. It doesn't make any sense to keep code I neither need nor
use, so out it went.

I also cleaned up 'sleuth_machine_bad_times()', including renaming it to
'handle_preexisting_object()'. The machine accounts in my network don't
have sub-objects associated with '$netbios_nodename' (nor '$nodename' in
general), so there's no way to test this functionality, and furthermore
I don't need it. Until it's needed by someone, it shouldn't be included.

I renamed the '$leave' variable to '$part', because it made more sense
at the time. It is supposed to represent whether we are leaving the
domain or not. Thinking about it now, I will probably rename '$part' to
'$leave_domain', since that is explicit about what it represents. That
will be introduced in the next commit.
Updated variable name

I changed '$part' to '$leave_domain', since the latter is much more
explicit about what it represents.
Cleaned up 'lib/Encryption.pm'

I removed all code that dealt with DES and ARCFOUR encryption types, as
those encryption types are not valid with the server that I'm working
with. In my continued effort to trim out any code that is either not
necessary or is untestable, this code got the axe.

In the 'deduce_linux_enc_info' and 'deduce_solaris_enc_info'
subroutines, I also pulled the code that tests the OS value into tiny
if-blocks at the top of the sub-routine. These if-blocks will return
from the routines if activated.

I also clarified various comments surrounding the affected code.
Clarified comments and code in plaidjoin.pl

I pulled the call to 'deduce_and_set_enc_types' out of
'finalize_machine_account', leaving only one call to the former in the
main scope of 'plaidjoin.pl'. I have placed the call to the former
before the call to the latter, so any desired or necessary effect is
still in place.

I have clarified a couple of comments in 'plaidjoin.pl'.
Resolving merge conflict
Changed 'distinct_name' to 'distinguished_name' in 'plaidjoin.pl'

"DN" in LDAP stands for "Distinguished Name" not "Distinct Name".
Updated 'kt_write'

'kt_write' no longer uses the external command 'ktutil' to write out the
keytab. Instead it utilizes the Authen::Krb5 module to acquire a ticket,
then writes out the keytab using the keyblock info from the ticket.

This change removes the need for @enc_types in 'kt_write'. I should
remove those in the next commit...
Implementated more KRB functions in perl

'kt_write' no longer initializes the Authen::Krb5 context. That is now
handled in 'kinit'. I also wrote 'get_creds_with_passwd' to handle
retrieving an Authen::Krb5::Creds object. I will eventually write
'get_creds_with_ktab' to test that the whole plaidjoin process worked at
the end.
Fixed typo in 'lib/Kerberos.pm'

The '@EXPORT' variable didn't have 'get_creds_with_passwd' in it.
I had somehow forgotten to include 'Authen::Krb5'

I'm not sure how, but I had forgotten to include 'Authen::Krb5' in a use
directive. Strange.
Fixed order or 'Authen::Krb5' calls

'init_context()' needs to come before everything else.
Added missing use directives to 'lib/Kerberos.pm'

I was missing 'Term::Read{Line,Key}'
Fixed typo in 'lib/Kerberos.pm'

It's "Authen::Krb5::KeytabEntry" not "Authen::Krb5::KeytableEntry"
Update kt_write

I have removed the credentials cache part of 'kt_write', since the
credentials cache is never used. This change is reflected in
'plaidjoin.pl' where 'kt_write' is called.

This commit probably won't matter, as
'Authen::Krb5::Keytab->add_entry()' doesn't seem to be generating keytab
files that I can use (my tests so far indicate that it's only using
writing out part of the Authen::Krb5::Creds->keyblock data, since `klist
-ce <ccache file>` shows an enctype of both AES26 (with cts, etc.) and
ARCFOUR-HMAC-MD5, but `klist -ke <keytab file>` only shows AES256. I
could, however, be misunderstanding the nature of keytab files and
credentials caches).

So anyways, this commit is probably just a historical marker for my
first attempt down this road.
Restored kt_write() that uses Expect module