code: function createTagInfo(tokenType, offset, tagName, attrName, attrValue, valueAssigned, quoteChar, hasEndQuote) {
          return { tagName: tagName || "",
                   attr:
                      { name: attrName || "",
                        value: attrValue || "",
                        valueAssigned: valueAssigned || false,
                        quoteChar: quoteChar || "",
                        hasEndQuote: hasEndQuote || false },
                   position:
                      { tokenType: tokenType || "",
                        offset: offset || 0 } };
      }
docs: Creates a tagInfo object and assures all the values are entered or are empty strings
  @param {string=} tokenType what is getting edited and should be hinted
  @param {number=} offset where the cursor is for the part getting hinted
  @param {string=} tagName The name of the tag
  @param {string=} attrName The name of the attribute
  @param {string=} attrValue The value of the attribute
  @return {{tagName:string,
  attr:{name:string, value:string, valueAssigned:boolean, quoteChar:string, hasEndQuote:boolean},
  position:{tokenType:string, offset:number}
  }}
  A tagInfo object with some context about the current tag hint.