Remove the distinction between strings and numbers from ctld(8) yacc parser.
This fixes problems with passing strings that look like numbers to clauses
that expect strings; previously it caused syntax errors and had to be worked
by user, using quotes.  The workaround introduced in r267833 is no longer
neccessary.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 962052e82a82836ae5d54d0398e64a77e9f30cb0)
Fix build after previous commit.  While here, improve error messages.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit c5fce01b6c95453cd9dd11a4e4eb67319c505a8b)
Document iSNS defaults.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit df22f3557ca6ba9c8a57838eedf5f6745103730a)
Add discovery-filter.  This makes it possible to restrict which targets
are returned during discovery based on initiator portal, name, and CHAP
credentials.

Reviewed by:	mav@
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit b73c1cc9fd2cad61d5764afc9111df0e0ac1bb21)

Conflicts:
	usr.sbin/ctld/ctl.conf.5
Simplify code; no functional changes.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit a68c33061f056ab0746e541cd358f964bb9c7a65)
Make it possible to optionally use semicolon to separate statements.
This makes it possible to format stuff like this:

target xxx {
	lun 0 { path /foo/bar; size 4G; }
}

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 904bb3735c041154935ddde24fd65ea6fb75bb17)
Keep the token list sorted.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit a0b8eaf0d7f347c70205b37dbbf8da23e4a5c132)
Fix iscsictl(8) and ctld(8) to correctly handle Windows newlines
(CRLF) in iscsi.conf and ctl.conf.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 3af53d3840b0f2cf38f6b6c1390f6d7110bd0f5d)