Improved interface rules

I've compiled a number of improvements to the interface block rules. There is a summary below with examples below using the Monokai color scheme.

1. Added read/write interface blocks.    
![example of read interface](https://i.imgur.com/Ah3roO2.png)    
![example of write interface](https://i.imgur.com/YkaL6wn.png)     

1. Added abstract interface blocks.    
![example of write interface](https://i.imgur.com/5DHO2h8.png)     

1. Added syntax checking for assignment, operator, and generic interfaces.    
![example of assignment interface](https://i.imgur.com/gLkWAZv.png)    
![example of operator interface](https://i.imgur.com/9Wzuknr.png)    
![example of operator interface](https://i.imgur.com/cbbbdS6.png)    
Error highlighting examples:    
![example of operator interface](https://i.imgur.com/FOlPbsR.png)    
![example of operator interface](https://i.imgur.com/4RpK1kx.png)