Implement a TTL (Time To Live) option for regular iRODS passwords.

This was on the list of requests from the Garching iRODS user group
meeting, fairly high, and not too difficult to do.

Added an API function, rc/rsGetLimitedPassword, which operates much
like the one-time passwords but with broader (but limited) min and max
times that are specificed by the user (via iinit).  A password is
securely returned to the client as the value that is returned is
hashed with hashed with the user's main password to form the actual
time-limited password.  This is then scrambled and stored in the
.irodsA file for use by the other i-commands and into the ICAT (also
in a scrambled form) as a password with an expiration time in the near
future.  

Passwords that are expired are ignored by the authentication code.
When a new password of this type is created, any expired ones are
removed.

Made changes to iinit.c handle TTL in this mode and added some help
text.

Added a test in icatTest.pl to exercise the new SQL (by simply using
--ttl in init) so that 'devtest' (and tinderbox) can succeed.

Also added a hashToStr function (which is the same as md5ToStr) since
these can now be SHA-1 hashes (matching the new (post 3.2)
obfMakeOneWayHash better).



git-svn-id: svn://irodssvn.ucsd.edu/trunk@5463 ea137bd6-aa86-47b6-b90d-b101d9f19a90
Remove an unused variable from the last commit to avoid a compiler
warning.


git-svn-id: svn://irodssvn.ucsd.edu/trunk@5464 ea137bd6-aa86-47b6-b90d-b101d9f19a90