Support variables in library name given using WITH NAME syntax

Update issue 1488
Status: Done
Summary: Support variables in library name given using WITH NAME syntax
Fixed this support with `Import Library` keyword and added the support also to `Library` setting. Both with tests.
Fixed handling callable log messages in public APIs.

Update issue 1505
Status: Done
Fixed the problem by disabling the lazy logging support in the public APIs.

`robot.api.logger` now converts callables to strings automatically. `BuiltIn.Log` was fixed by changing it to use `robot.api.logger` instead of using `LOGGER` directly.
change keyword remover to use utils.Matcher, enhance tests

update issue 1480

- pattern matching is now done with utils.Matcher
- tests for ? wildcard
Automated merge with https://code.google.com/p/robotframework/
fixed unit tests after removing default values from IMPORTER.import_library arguments
--rmkws atests: removed unnecessary empty lines and logging
--rmkws atests: refactored suite containing tests for all/passedmodes to ease adding name tests there too
Enhanced --RemoveKeywords NAME:<pattern> tests.

Update issue 1480
This new feature was tested only at run time when --RemoveKeywords actually is
tested more thoroughly with Rebot. Added these missing tests, and also tested
that keywords containing warnings are not removed.

--HG--
rename : atest/robot/cli/rebot/remove_keywords/all_and_passed.txt => atest/robot/cli/rebot/remove_keywords/all_passed_and_name.txt
--RemoveKeywords cleanup.

Update issue 1480
Status: Done
Cleaned up the code a little. This issue can be considered done.
atests: refactored tests for invalid cli usage
Validate --RemoveKeywords values and support NONE mode.

Update issue 1520
Status: Done
Owner: pekka.klarck
Now --RemoveKeywords values are validated and invalid values are considered
fatal. New `NONE` mode that does nothing was also added.

This commit contains code, tests, and docs. This issue is done.
test cleanup
oops, cannot remove temp files used also by other test suites. this ought to fix teh build.
Fixed validating kwargs in --dryrun mode.

Update issue 1511
Status: Done
Owner: pekka.klarck
It turned out that kwargs weren't handled at all in dry-run mode. This caused
false positives in cases like in this issue, but it also caused false
negatives in some cases.

Luckily fixing the problem wasn't too complicated, because it was possible to
use the same code for resolving/validating arguments in dry-run than in normal
run. In the end more code was removed than added.
Process tests: don't stop already stopped processes
NormalizedDict: avoid exceptions when comparing with other objects
Atests for automatic variables containing variables.

Update issue 1513
According to these tests, variables in automatic variables already works in 2.8. No real need to add a new issue about that.
Suita related automatic variables available already at import time.

Update issue 1513
Issue fixed with tests.

Still want to add a note to User Guide about variables not being resolved at import time.
UG: Note about how suite related automatic variables work at import time.

Update issue 1513
Status: Done
Added a note about all this into the User Guide. I consider this issue done.
bump