SI-5954 Adds implementation restriction preventing companions in package objects

Companion objects (and thus also case classes) in package objects caused an
assert about an overloaded symbol when everything was compiled twice. It's a
hairy problem that doesn't fit in 2.10.1. So this fix adds an implementation
restriction. It also has a test to make sure the error messages are clean
and reasonably friendly, and the test includes a commented out test in case
somebody thinks they've solved the underlying problem.