Cache remote schemas

Signed-off-by: Jesse Stuart <jesse@jessestuart.ca>