Search refactor predecessors: ImmutableStack, Option, More Extensions

@ikeough @lukechurch As discussed in https://github.com/DynamoDS/Dynamo/pull/3463
03a1ba7beb090ffa2ee1f61e6487e236e00e066b adds in-line documentation