make the layout lazy on StructByReference to allow to use self.ptr inside the layout. possible fix for #1729

Conflicts:
	spec/ffi/managed_struct_spec.rb
Introduce LibrarySearcher and make LoadService use it
Move the extension service finding logic to one place.
Replaced the LoadSearchers with just regular searching.
Keep ruby 1.8 <-> 1.9 filename check in one place.
Make suffix iteration and outer loop, so that native/builtin checks are consistent.
Require no special jar handling