Optimized hashes a bit

Since all of the hash algorithms are called once as "throwaways" (not
calling update, or being saved beyond the calling line), the internals
of each algorithm were moved around so the algorithms would run on all
of the data at once, rather than running on the data in blocks.