[zynq] Convert the Zynq PLL init jam table into readable code

End goal will be to convert all the functions and remove ps7 entirely.
[zynq] Document IO PLL
[minip] Make sure arp functions ignore the broadcast address
[gem] Turn COPYALL back on for GEM rx until we sort out why matching isn't working
[lib][minip] allow packets through when interface bound to 0.0.0.0
[libc] remove warning in memset.c when compiled on 32bit machines
[project] add app/stringtests to arm64 and x86 test build
[app][stringtests] bump the buffer size to 2MB, to remove L2 caching effects
[zynq] Convert clk/mio jam table to readable code

Also re-added the generated pll table for documentation purposes
[lib][minip] implement basic TCP layer

-Add simple TCP layer
-Add simple net timer layer

Limitations:
    Only handles incoming listen sockets
    Does not calculate and honor RTT and aggressively retransmits
    Does not honor remote window size
[target][zybo] add net0.use_dhcp flag to force dhcp even if ip address is set
[app][inetsrv] add a few basic internet servers (chargen, discard)
[project][zybo-test] add chargen, discard server
[platform][zynq][gem] correctly program mac address, disable promisc mode
[platform][zynq] fix stall condition in GEM transmit

In a particular situation where a tx packet was queued and a rx packet was received just
afterwards, but before the tx was sent, the tx interrupt would be acked and
the tx event would never be signalled.
[app][inetsrv] increase discard buffer size for efficiency
[lib][minip] mark dhcp's thread as detached so it cleans up after itself
[lib][libc][arm] optimize memcpy/memmove a bit for cortex-a9

-Prefetch 64 bytes ahead
-Copy a full 32 bytes at once in a single ldm/stm instruction

This increased performance in best case on a Zybo board from
~250MB/sec to ~680MB/sec.
[target][zybo] create bootloader patition if it doesn't exist
[app][lkboot] network bootloader server