Create an Empty and rename it to mountPoint, then create another one and name it muzzlePoint, then position the mountPoint where you would like the player to hold the item from, and muzzlePoint to where you want the item to fire from, in most cases, rotating the nodes isn't necessary
And for future reference, that hierarchy in the FAQ can be achieved by parenting objects to other objects by selecting one object, then selecting another object to be the parent, and pressing Ctrl P to bring up the parenting menu
Parenting isn't necessary for weapons though, only when you want to animate parts of the weapon, and/or other nodes that you have on the weapon