SPARK-2761 refactor #maybeSpill into Spillable

Moved `#maybeSpill` in ExternalSorter and EAOM into `Spillable`.
`protected[this]` prevents other instances of the same class from accessing the member. You are right - it's overkill.