Make assets:precompile not open db connection

Took a further look at #3688 to make assets:precompile also run without a db connection in production (eager loading all the spree code).

I had to copy the awesome_nested_set module over into spree_core because we don't have a release for that gem yet that fixes the same issue we're having here and I couldn't find another way to fix it. We can remove the overridden module once we have a new awesome_nested_set release, see https://github.com/collectiveidea/awesome_nested_set/issues/208

The build looks ok but I might need to do a bit of more testing or look up to see if we can safely remove the `table_exists?` or `column_names` methods that were opening a db connection. Anyone can tell in what cases we need those checks?