Entity field access condition 2281113b

Updated version of my previous patch;  I've changed branches due to some very bad problems with "git rebase".

I'm aware I have two commits that appear here.  That's the problem -- I can't get git to go lower without pulling in commits I don't own.  If you folks can tell me how to fix this, much thanks.

The patch creates the plugin and test for the issue.
Please use the static ::create() method to inject the access controller.