Rewrote Yahoo (free) provider. Misc updates.
New tests and misc changes.