Binding Updates: More flexible argument matching

Reimplemented BindingHandler::FindBestMethod to support a range of options including C#-style param arrays and optional parameters with default values.
Changed method name scanning to use HashSet instead of Dictionary to simplify duplicate name handling.
Missed code change in prior commit.

`methodNames->Keys` should be simply `methodNames`.
Missed code change in prior commit + update

`methodNames->Keys` should be simply `methodNames`.
Updated to fix some code issues identified by perlun.
Merge branch 'master' of https://github.com/EMonk72/CefSharp
Reverting to Dictionary for method names due to problems with VS2012 configuration.
Fix HashSet support on VS2012

Added project reference to `System.Core` assembly.
Updated changelog.
Minor cleanups. I like the Uncle Bob style; try to make the code so clear that hardly any comments are really needful… More drastic changes coming up in a little while.
Rearranged the class so that Bind() and Execute() is placed earlier in the file, since this is the most public part of the class.
Started doing some light refactorings here to make the code a bit more maintainable: Smaller, more concise methods. The FindBestMethod() is up next.
Merge pull request #11 from perlun/emonk72-master

Merged in stuff done by @EMonk72 - thanks m8.