SERVER-6086 fixed shell to handle zero-width and double-width characters

recompute character width when refresh line.
use existing function mk_wcswidth.
add fall back when mk_wcswidth return -1 on calculateColumnPosition.
before set position, calculate width of characters.

Closes #717

Signed-off-by: Benety Goh <benety@mongodb.com>