[spi] Initial work on GCM implementation

Merge @philipkimmey work into master.