Case fix/option for prog mode backends; UI improvement for manual begin

Hi Dmitry,

I have some changes that I tested over the last days, and that would be great to have included in company-mode.

The casing fix for the dabbrev-code-backend seems to be a bug fix to me: I did not get consistent and useful results with (setq company-dabbrev-ignore-case t) before, but now I do.

The case option for etags is the same in spirit: I would like to get tags suggestions even when I mistyped, if it's just the wrong case.

The main company options fixes behavior for me when I manually start a completion, but then delete characters and get below the minimum prefix length.  Previously it showed completions (possibly a lot, which I do not want to see), with this option set to nil, it stops in that case.  The test makes sure that if you start the completion manually and continue to increase the prefix length, completion continues even if you are still below the minimum prefix length (this might be important for people who have set a high minimum length like 8, but might want to manually complete after 3 characters already).

Please accept my apologies if I have horribly messed up the pull request.  I have worked with git before, but have little experience with the push-pull model yet, let alone with using github.

Regards,
Ingo