Added handling to only define used rfc2119 terms

Addresses the issues presented in #345
nit: we should get into the habit of including "{" and "}". Omitting them can lead to really hard to track down bugs.