Use core's postWithToken for watching, which handles badtoken

This ensures a stale token (e.g. because a user has been on a page for
a while without taking any action) will not result in a failure when
watching topics.

This is implemented by adding a new field, _internal.tokenType, to the
params array, which allows you to specify the token type to use (the
default is 'edit', as before).

_internal itself is also new, and is intended for use cases like this,
where you need to pass low-level information that specifies how
FlowApi makes the actual request.  It is in order to clearly
distinguish this information from actual parameters.

Also, remove a dead attribute (value watchTopic) which was duplicating
another attribute.  This is invalid HTML, and it's only luck that
it picked the right one (at least in some browsers).

Bug: 72500
Bug: 73291
Change-Id: I88e9ca8c1cd4eb643476f78da8cb127f690d067f