Added Macro For Conveniently Setting Entries in `smart-tabs-insinuate-alist`.

I have written a few macros so that entries in the `smart-tabs-insinuate-alist` can be written much more concisely and have changed the definition of `smart-tabs-insinuate-alist` to use them. They take care of inserting all of the boilerplate code so you just specify the language, the mode, and an alist containing `(indent-function . offset)`. I did this so in the future, if anything else needs to be added to the hooks it only needs to be done in one place. I also made sure to set the `lisp-indent-function` so they indent properly.