Call use-region-p instead of testing the value of mark-active

The Elisp manual says this is a better way to determine whether or not
we should apply the effects of a command to a selected region.
However, this patch still does not fix the bug by which no tag
insertion commands will work until the user has created a mark.
Fix bug that required a mark before bbcode/insert-tag would work

The macro bbcode/make-key-binding creates a function that always calls
bbcode/insert-tag with the beginning and end points of a region.
However, if a user has no set mark or region in a buffer then the mode
will fail to insert any time, complaining with an error about there
being no mark.  We can fix this by testing for the presence of a
selected region when creating the tag insertion function inside of
bbcode/make-key-binding.  This lets us decide whether or not we need
to pass in region information.  If there is no active region then we
can call bbcode/insert-tag in a way that does not trigger that error.