Fix rcu_protected bugfixes and add test case (PLAT-555)

This fixes edge cases in the assignment of RcuProtected contexts and adds a test case.

Note that there is still a major bug, which can be exercised by removing the extra
explicit guards from the test.
added missing test file
Merge pull request #92 from datacratic/PLAT-555-rcu_protected-bugfixes

Plat 555 rcu protected bugfixes
Fixed PEP8 errors
Merge pull request #96 from datacratic/PLAT-554-SharedGuard-explicit-lock-unlock

PLAT-554 shared guard explicit lock unlock; pull request #92 (accidentally merged into the wrong branch)
Merge commit 'b26dac0e9b798c815411fba0cc16c93547c57dbb'
Merge commit '6743776f13a81b67b19ed1e1018f073cd9d0644c'