Fixed find_by("sql fragment without bindings") on master

* Also duplicated find_by tests from relations_test.rb to finder_test.rb now
	that we have a completely different implementation on the class (in core.rb
	with AST caching stuff).

* Also removed a (failing) test that used mocks. Now that we have tests for the
  behavior, there's no point having another test that tests the implementation
	(that it delegates). Further, what the test was implying is nolonger true with
	the current implementation, because Class.find_by is a real method now.
Override #find_by! in core to enable AST caching