* and # search for lowercase if 'ignorecase' is on

Mixed- or uppercase words trigger the 'smartcase' feature, but * and #
are not supposed to trigger it.

Convert the current word to all-lowercase as a workaround.

Fixes #529.
Add test for * and #, 'smartcase' and 'ignorecase'