Added "mutate" macro to allow reference to another sequence with single-character substitutions.
Added code to allow "anonymous blocks", for standalone macro calls.
Streamlined re-use of "import" function by others. Added foundations of a templating system.

Currently a function exists to define "templates" which follow the formatting
minilanguage of Python 3, allowing both positional and named formatting
substitutions. Named substitutions are "static": they refer to previously
compiled blocks in the current FASTA namespace. Positional substitutions can
later be made by calling another macro/function with the correct number of
arguments.

The latter function has not yet been written.
Have basic template usage working. Now need to enable cross-library templating.
Gave "include" a little overhaul to allow implicit namespace import/use with "namespace.block" syntax.
Added a "--last"/"-L" flag to output only the final compiled block.

The current compilation system outputs all blocks that have titles,
and often titles are required by things; titles "sub" as variables
in this scripting system. Therefore, users may define blocks only
for internal use, and use them to compile a desired block, but will
have a large output file full of stuff they don't want.

So, this allows them to get only the last output block.
Future additions will include a json titledata option to make stuff
'private', so users can define variables for internal use, and the
compiler will know not to export them in the final document.
Changed template examples not to use derived DNA, so it's static and comparable between executions.

Cross-library templating appears to work, now; I'm considering this a "finished" feature.
Users can now use the following syntax:
> localblock
gcatgcatgcat

> MyCompilation
$use_template "my lib.fasta.my template" "my other lib.fasta.some block" "localblock"

..and expect that the compiler will embed "some block" from "my other lib.fasta",
followed by "localblock" from the current file, in the "my template" template defined
in "my lib.fasta".

However, named string formatting blocks can only be used in the scope where they are
defined; that is, you can't do this:
; some template
gtac{mylib.block}gggg{0}

..because when the template is called, the namespace of the template's defining file
is what is used to fill the template named arguments.

However, the normal inclusion system can be used to statically import libs into a
template, which will work due to Parser recursion.