Avoid use of BasicEntityIdParser

Remove use of BasicEntityIdParser which already has limited knowledge of the types of EntityId objects (only Item and Property).

The LegacyIdInterpreter still has that limitation, but can do the equivalent work without needing to construct a new BasicEntityIdParser object all the time.

The ItemId::newFromNumber and PropertyId::newFromNumber methods are also not great and would be better if we can somehow avoid the entity type + numeric id format in EntityIdValue.