Cleanup from architecture review

Change ProtectionModel implementations to use object model that is consistent
with the rest of the codebase

Comment out the KeySystem and ProtectionModel interface methods since they exist
for documentation purposes only
Fix JSLint compliance issues