I believe Apps2SD is what you are after. I have tested it on Moto E 1st Gen, which also has limited internal memory.
Bear in mind, the apps you shift to SD card will load slow on your device. It will be very frustrating to use any app. A class 10 memory card is highly suggested, although I myself used a Strontium's class 10 SD card, but it still gives performance issues when accessing apps stored in the SD card. You should have TWRP recovery so you could partition your memory card, have 2-3GB as EXT and the rest of it as FAT partitioned.
The EXT partition is the partition where your app's private data( /data/data, libs, obb, etc.) will be stored. The app basically moves the data and makes a link in /data/data directory.
The app can also move all the dalvik/ART cache to your SD card, hence freeing your internal memory but making it much slower.(Accessing data from external storage for every instance/process is rather a slow process).
My experience: After shifting all the user installed apps and cache to SD, the Moto E started lagging and it started working very slowly. I then, kept the cache in Internal Memory and kept only the apps I needed, and shifted offline dictionary app(+100MB of obb file), and 2 more apps which I only use 2-3 times a day. Don't link WhatsApp or Facebook, it will be very slow on your device.
After uninstalling a linked app, you would need to use the Broken App Cleaner option to completely delete the app, else the app will show itself in app drawer after a reboot.
PS: I am not a developer of this app, or anyway related to developing this app. I bear no responsibility if you end up with software issues. I have used it and still using it out of compulsion.