Basic trunctation working
improved jsTree name truncation on resize
Truncate jsTree on load_node or panel resize
Tags page also auto-truncates jsTree
Use $.offset() to work out required truncation
Handle truncation in editinplace re-name
Remove old truncateNames()
Prevent infinite while loop
Removing unnecessary <span> tags
Move kill session to global teardown
Store group as an instance variable
Add helper methods for 11479
Add non-reproducing method (See #11479)

This method attempts to reproduce the described error
from 11479. An ERR is returned during the chmod, however,
preventing the test from completing:

```
Cannot change permissions on ome.model.meta.ExperimenterGroup:Id_1162 to rw---- due to locks:
  {*=1, ome.model.annotations.ProjectAnnotationLink=1}
```
Reworked test to clearly show the issue (root!)

For some reason, the root user and not a group admin
can perform these changes. Currently looking into why
this could be.
Perform check in omero.group=-1 (Fix #11479)
Initial fs.py plugin

Only available command at this point is `repos`, which prints
all the repositories available. The classification as `Managed`,
`Script`, or `Public` needs refinement.

`--managed` filtering is enabled. A ranking of the individual
managed repos needs to be introduced, via stars or similar.
Add `repos` command to fs.py

Minimal listing of filesets (by-age) with some
filtering based on the transfer mechanism used.
Generic transfer filtering mechanism

Now all the `--with-transfer` arguments passed to `sets`
are OR'd together to choose which filesets will be listed.

The map of symbolic names to transfer classes from
`AbstractFileTransfer.java` is used to provide simpler
arguments (e.g. `--with-transfer=ln`) though the full
class names can be used as well.
Fix minor compile errors in fs.py
Add styles from text.py to fs.py