Enhance precision in sdate display
Fix smartwd script to ensure that it always works

With Ruby version 1.8.5, the smartwd script would abort with an error that
the shift method would take no arguments. Therefore, I have restricted the
use of the script to ruby version 1.8.7 and above.

On older versions, it will simply behave the same as \w in PS1 of bash.